taj88
Messages postés113Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention28 août 2007
-
22 juin 2007 à 14:36
taj88
Messages postés113Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention28 août 2007
-
25 juin 2007 à 10:20
Bonjour,
j'ai écris une macro qui crée un Command bouton "automatiquement" avec des caractéristiques spécifique :
taj88
Messages postés113Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention28 août 2007 22 juin 2007 à 15:58
Re,
je suis débutant avec une expériance de 5 jours de code sous VBA, et je n'ai donc pas tout compris à ta réponse.
tu crée un nouveau module nommé "coucou"
Set num = ThisWorkbook.VBProject.VBComponents.Add(1)
num.Name = "coucou"
apparament cela permet de créer un nouveau module (mais apparament, il faut enlever la protection de VBA)
tu y colles une nouvelle routine :
txt = "Sub collage()" + vbCrLf + "Copy : ""aaa"", &Selection.Object.Name" + vbCrLf + "End Sub"
num.CodeModule.InsertLines 1, txt
ici, cette partie j'ai pas tout compris
Sub collage est une fonction que je doit créee? et que veu dire vbCrLf
Merci d'avance
Je viens de découvrir le bonheur de programmer et le VB me le rend bien
Vous n’avez pas trouvé la réponse que vous recherchez ?
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 22 juin 2007 à 16:47
Alors pourquoi avoir accepté la réponse !!!
N'existe-t-il pas un : Selection.Object..OnAction = "NomMacro_A_Exécuter"
Si cela existe, il suffit de créer le code de la macro à exécuter par le bouton et l'association bouton/macro se fera via OnAction
JML
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016 22 juin 2007 à 17:17
ce n'est pas contradictoire : le .onaction appelle une fonction qui existe déjà ... mais que tu ne peux créer dynamiquement
sinon :
Set num = ThisWorkbook.VBProject.VBComponents.Add(1) : définit la variable objet num comme étant un composant vba (module ...que j'ajoute à ceux existant )
num.Name = "coucou" : lui donne un nom (autre que celui par défaut)
txt (avec dim txt as string) définit une variable de type string (chaine de caractères)
" " : entre quillemet le teste
& : opérateur de concatenation (oups, j'ai mis +, qui est une erreur d'écriture)
vbcrlf : pour sauter une ligne (!! vblf et vbcr !! pour faire la distinction entre fin de ligne et fin de paragraphe)
insertlines 1, txt :
- le 1 pour dire où dans le module (ligne 1 dans mon cas, mais on pourrait connaitre la taille du fichier et écrire à la fin)
- txt : ce que l'on colle à partir du numéro de ligne définit
taj88
Messages postés113Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention28 août 2007 25 juin 2007 à 10:20
Slt, apparemment VBA n'accepte pas la méthode que tu préconise.
De plus, comme je crée mon CommandButton, je n'ai pas besoin de créer un module num, mais par contre à l'intérieur de mon code de création du command button, je peux peut-^tre indiquer qqc comme cela (ligne en rouge):