Aller au contenu

Lupin

Membres
  • Compteur de contenus

    27
  • Inscription

  • Dernière visite

À propos de Lupin

  • Date de naissance 04/04/1960

Profile Information

  • Sexe
    Male
  • Localisation
    Québec

Autres informations

  • Mes langues
    Français

Lupin's Achievements

Member

Member (4/12)

0

Réputation sur la communauté

  1. Bonjour, Je ne veux sourtout pas te vexer KewlCat, mais moi j'arrive à ajouter des application dans le menu contextuel à partir de la base de registre ! ex.: Function Inscrire_Copier() As Boolean Dim oWsh As Variant Dim Cle As String On Error GoTo Err_InscrireCop Set oWsh = CreateObject("WScript.Shell") Cle = "HKCR\*\shellex\ContextMenuHandlers\Copier dans le dossier...\" oWsh.RegWrite Cle, "Copier dans le dossier ...", "REG_SZ" oWsh.RegWrite Cle, "{C2FBB630-2971-11D1-A18C-00C04FD75D13}", "REG_SZ" Cle = "HKCR\Directory\shellex\ContextMenuHandlers\Copier dans le dossier...\" oWsh.RegWrite Cle, "Copier dans le dossier ...", "REG_SZ" oWsh.RegWrite Cle, "{C2FBB630-2971-11D1-A18C-00C04FD75D13}", "REG_SZ" Call uf_Liste_Cles.Change_LBL(3, "OK") Exit_InscrireCop: Inscrire_Copier = True Exit Function Err_InscrireCop: Call uf_Liste_Cles.Change_LBL(3, "X") Inscrire_Copier = False End Function ' Function Inscrire_Deplacer() As Boolean Dim oWsh As Variant Dim Cle As String On Error GoTo Err_InscrireDep Set oWsh = CreateObject("WScript.Shell") Cle = "HKCR\*\shellex\ContextMenuHandlers\Deplacer dans le dossier...\" oWsh.RegWrite Cle, "Deplacer dans le dossier ...", "REG_SZ" oWsh.RegWrite Cle, "{C2FBB631-2971-11D1-A18C-00C04FD75D13}", "REG_SZ" Cle = "HKCR\Directory\shellex\ContextMenuHandlers\Deplacer dans le dossier...\" oWsh.RegWrite Cle, "Deplacer dans le dossier ...", "REG_SZ" oWsh.RegWrite Cle, "{C2FBB631-2971-11D1-A18C-00C04FD75D13}", "REG_SZ" Call uf_Liste_Cles.Change_LBL(4, "OK") Exit_InscrireDep: Inscrire_Deplacer = True Exit Function Err_InscrireDep: Call uf_Liste_Cles.Change_LBL(4, "X") Inscrire_Deplacer = False End Function ' Bien sur, ici j'utilise des DLL de windows, mais je pourrais les construire moi-même. En toute modestie. Lupin
  2. Bonjour, J'ai trouvé ceci en naviguant, c'est un début rundll32.exe Lupin
  3. re: Je connaissais cette approche, toutefois je ne l'ai pas souligné puisqu'elle utilise la(es) librairies de Windows plutôt que le FrameWork .NET Content que cela vous agrée Lupin
  4. Bonjour, J'ai trouvé ceci en naviguant, peut-être ceci peut-il vous être utile dans votre démarche. http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms1#VIII-C-9 Bonne continuité. Lupin
  5. re: Je viens de trouver la façon de faire dont tu parlais dans ton message Cortex et effectivement ça fonctionne nickel. Directement dans Outlook, j'ai rajouté l'icon [ Lien Hypertexte ] dans la barre d'outils et le tour est joué. Sous Outlook, je n'avais jamais eu a produire un hyperlien avec des espaces dans le chemin. J'ai jusqu'a ce jour, j'ai toujours utiliser la syntaxe : file://S:\PlageVirtuel\Product\Details.doc et ça fonctionne bien s'il n'y a pas d'espaces. Merci encore. Maintenant, comment puis-je désigner ce sujet (question) comme résolu ? Lupin
  6. Bonjour GreyWolf et Cortex, Tout d'abord, Merci à tous les deux de vous être penché sur mon problème. Pour GreyWolf : J'avais déjà tenter cette solution sans résultat, mais merci quand même pour ta réponse. Pour Cortex : Je n'ai pu coller le chemin comme un hyperlien dans Outlook, toutefois ton idée m'a dirigé vers Word ou j'ai pu créer l'hyperlien correctement et ensuite copier/coller de Word vers Outlook et la ça fonctionne nickel. Tant avec l'adresse du lecteur : V:\Product\... qu'avec le nom du serveur : \\Serveur\chemin... Comme j'ai tenté d'expliqué dans un autre forum, il n'y a pas de mauvaises réponse, puisque chaque réponse peut aiguiller l'auteur de la question vers une solution. Merci encore de votre participation. Bonne journée. Lupin
  7. Bonjour, Existe-t-il un moyen de créer un lien hypertexte vers un fichier sur le réseau qui comporte des espaces dans le nom du chemin d'accès dans un courriel avec Outlook 2003 SP3. Ex.: <file://V:\Plage Virtuel\Relations BDs\Ver. 1.04\MonFichier.doc> J'ai tenter aussi avec le nom du serveur : <file://\\SERVEUR1\DOC\PLAGE\Commun\Procedures\Migration\Migration en production, v2010_11.doc> Sans résultat, les espaces sont toujours problèmatiques ??? Merci de votre attention. Bonne journée.
  8. Bonjour, Suggestion : Essayer la syntaxe suivante : xcopy souce destination paramètres xcopy f:\cmd_xcopy\. f:\Resultat /c /h /e /r /y /s (n.b. ici le point à la fin de la définition de la source, après la barre oblique arrière signifie [ *.* ] ). souvenez vous de "cherys" chez-moi sous XP ça fonctionne très bien et j'utilise cette syntaxe depuis DOS. Lupin
  9. Bonjour Armel et bonjour a tous, Certe le VBA est un langage particulier et tous et chacun ont développé des façons de faire très efficace. Ceci dit, comme j'avais laissé entendre, j'ai déposé une copie chez mon fai (fournisseur accès internet). ici : http://membre.oricom.ca/lupin/zebforum/budjet.zip Vous aurez besoin du guide rapide, l'image pour comprendre le saut de votre classeur vers celui-ci ! enfin, je pense ... J'ai franchi deux limites de Excel en les contournants ... 1.) La limite de 255 caractères permises dans les "séries" de validations de données, que j'ai contourné par un troisième étage de liste déroulante 2.) Et ce troisième étage m'a amené la limiite de 255 caractères permise dans l'instruction [Range], que j'ai fait aussi éclater en remplaçant par l'instruction [ Union(Range(PlageA), Range(PlageB), Range(PlageC) ]. donc, la limite de 1000 lignes ne tiens plus Si tu t'intéresse au code il est structuré sur des Types Personnalisés. Des Objets de niveau simple. Toutes les adresses de travail sont dans le pointeur [PtrPg2Global], 4 groupes de [PtrPg2Maitre], [PtrPg2Maitre] est le pointeur du groupe courant. Pour suivre le code, il faut la structure sous les yeux. Cela te donneras un exemple de travail avec les Types Je me suis bien amuser avec cette idée, je suis près pour mon budjet de 2010 Bonne continuité. Lupin
  10. Bonjour Armel et à tous, Je ne suis pas très familier avec les fonctionnalités du site, alors je vous écris ici Depuis mon dernier passage, j'ai fait évoluer le classeur pour l'intégré dans mon classeur "Budjet", j'ai presque terminé la feuiile, avant l'intégration dans mon classeur je pourrai vous déposer une copie chez mon fai. Ceci dit, avez-vous réglé votre problème ? Lupin
  11. Bonjour Armel, Je n'ai pas testé le lien, désolé ! Ici l'ancien : http://membre.oricom.ca/lupin/zebforum/extractionold.xls Ici le nouveau : http://membre.oricom.ca/lupin/zebforum/extractionnew.xls Lupin
  12. Bonjour, Je n'avais pas encore tout compris, comme je vous l'ai dit je ne connais que très peu les formules Excel et celles-ci sont de taille. Toutefois, sous VBA, les modifications sont très simple. D'ailleurs, dans une version corrigé Ici : http://membre.oricom.ca/lupin/zebforum/extrationold.xls Je vais vous déplacé l'indice sur la collone D. Pour une fois... , à moins d'avis contraire. Ici l'indice déplacé :http://membre.oricom.ca/lupin/zebforum/extrationnew.xls Lupin
  13. Bonjour, Je n'ai pas encore compris pourquoi lorsque je ferme le classeur et que je l'ouvre à nouveau, je perd la fonctionnalité du VBA jumelé aux formules !!! Ceci dit, est-ce que le classeur suivant (strictement VBA) exécute le traitement voulu ? http://membre.oricom.ca/lupin/zebforum/extraction.xls Lupin
  14. Bonjour, Je suis plutôt perplexe face à tout ça ! C'est le première fois, que je vois dans un même module une déclaration de variable locale et de fonction portant le même nom ! Je n'ai certe pas tout compris ! Le code VBA est en soi inutile, les fonctions complexes sont suffisantes pour remplir les colonnes souhaitées : En [ C15 ], copier cette formule : =DECALER(INDEX(Code!$A$1:$P$11;EQUIV(D15;DECALER(Code!B:B;0;EQUIV(A15;Code!$A$1:$P$1;0)-2);0);EQUIV(A15;Code!$A$1:$P$1;0));0;-1) Tirer la formule vers le bas En [ I15 ], copier cette formule : =DECALER(INDEX(Code!$A$1:$P$11;EQUIV(D15;DECALER(Code!B:B;0;EQUIV(A15;Code!$A$1:$P$1;0)-2);0);EQUIV(A15;C ode!$A$1:$P$1;0));0;1) Tirer la formule vers le bas En [ K15 ], copier cette formule : =DECALER(INDEX(Code!$A$1:$P$11;EQUIV(D15;DECALER(Code!B:B;0;EQUIV(A15;Code!$A$1:$P$1;0)-2);0);EQUIV(A15;C ode!$A$1:$P$1;0));0;2) Tirer la formule vers le bas Et le code qui fonctionne avec, si vous tenez à l'utiliser : Malheureusement, la tabulation sera détruite ! Option Explicit ' Private Sub Worksheet_Change(ByVal Target As Range) Dim oCel As Range, s As String, DE As Range, QU As Range, PU As Range If Not Intersect(Target, Union([A15:A19], [D15:D19])) Is Nothing Then For Each oCel In Intersect(Target, Union([A15:A19], [D15:D19])) Application.EnableEvents = False Cells(oCel.Row, 3).Value = DE(Cells(oCel.Row, 1).Value, Cells(oCel.Row, 2).Value) Cells(oCel.Row, 9).Value = QU(Cells(oCel.Row, 1).Value, Cells(oCel.Row, 2).Value) Cells(oCel.Row, 11).Value = PU(Cells(oCel.Row, 1).Value, Cells(oCel.Row, 2).Value) Application.EnableEvents = True Next oCel End If End Sub ' Private Function PU(ByVal A As String, ByVal B As String, ByVal c As String, ByVal D As String) As Variant PU = Evaluate("OFFSET(INDEX(Code!$A$1:$P$11,MATCH(""" & _ D & """,OFFSET(Code!$B$1:$B$11,0,MATCH(""" & _ A & """,Code!$A$1:$P$1,0)-2),0),MATCH(""" & _ A & """,Code!$A$1:$P$1,0)),0,2)") 'DECALER(INDEX(source;EQUIV(D15;DECALER(Code!B:B;0;EQUIV(A15;liste;0)-2);0);EQUIV(A15;liste;0));0;2) If IsError(PU) Then PU = "" End Function Private Function QU(ByVal A As String, ByVal B As String, ByVal c As String) As Variant QU = Evaluate("=OFFSET(INDEX(Code!$A$1:$P$11,MATCH(""" & _ c & """,OFFSET(Code!$A$1:$A$11,0,MATCH(""" & _ A & """,Code!$A$1:$P$1,0)-2),0),MATCH(""" & _ A & """,Code!$A$1:$P$1,0)),0,1)") 'DECALER(INDEX(Source;EQUIV(D15;DECALER(Code!B:B;0;EQUIV(A15;liste;0)-2);0);EQUIV(A15;liste;0));0;1)) If IsError(QU) Then QU = "" End Function Private Function DE(ByVal A As String, ByVal B As String, Optional ByVal c As String) As Variant DE = Evaluate("=OFFSET(INDEX(Code!$A$1:$P$11,MATCH(""" & _ c & """,OFFSET(Code!$A$1:$A$11,0,MATCH(""" & _ A & """,Code!$A$1:$P$1,0)-1),0),MATCH(""" & _ A & """,Code!$A$1:$P$1,0)),0,-1)") 'DECALER(INDEX(Source;EQUIV(D15;DECALER(Code!B:B;0;EQUIV(A15;liste;0)-1);0);EQUIV(A15;liste;0));0;-1))'' If IsError(DE) Then DE = "" End Function En fait le dernier chiffre de l'expression agit d'offset par rapport à la colonne du nom du produit de la feuille +1 nous donne l'unité +2 nous donne le prix unitaire -1 nous donne le code Bonne continuité Lupin
  15. Bonjour, J'ai manqué le nombres de paramètres dans ma première observation. Vous appelez les fonctions en passant 2 paramètres : Cells(oCel.Row, 3).Value = DE(Cells(oCel.Row, 1).Value, Cells(oCel.Row, 2).Value) Cells(oCel.Row, 3).Value = DE( Paramètre1 , Paramètre2 ) Et à la déclaration, vous demandé 3 paramètres en entrée : Private Function DE(ByVal A As String, ByVal B As String, ByVal C As String) As Variant Private Function DE(ByVal Paramètre1 As String, ByVal Paramètre2 As String, ByVal Paramètre3 As String) As Variant Soit vous placer le 3ième paramètre Optionel : Private Function DE(ByVal A As String, ByVal B As String, Optional ByVal c As String) As Variant Ou trouver le troisième paramètre à inclure : Cells(oCel.Row, 3).Value = DE( Paramètre1 , Paramètre2 , Paramètre3 ) Il en est de même pour la fonction PU qui elle possède 4 paramètres alors que seulement 2 lui sont passés ! Je n'ai pas encore tenté de comprendre la syntaxe de la formule Excel, quoique je connaisse bien VBA, je connais mal les fonctions d'Excel. Je regarderai plus tard pour la formule, là c'est l'heure de roupiller Bonne continuité. Lupin
×
×
  • Créer...