Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro lancement

5 réponses
Avatar
steph b
bonjour j ai une macro qui est dans une feuil4 qui s'execute super bien
voici un extrait de code
Private Sub CommandButton2_Click()
Sheets("feuil4").Select
Dim i As Integer
i = 1
Do While Range("B" & i) <> "" 'Faire la boucle tant que la cellule
sélectionée n'est pas vide
Range("c" & i).Value = "33" & Right(Range("B" & i).Value, 9)
i = i + 1 'Décalage de 1 ligne à chaque fois
Loop

i = 1
Sheets("feuil5").Select
Do While Sheets("feuil4").Range("c" & i) <> "" 'Faire la boucle tant que la
cellule sélectionée n'est pas vide
Sheets("feuil5").Range("b8") = Sheets("feuil4").Range("c" & i)
i = i + 1 'Décalage de 1 ligne à chaque fois

JE PLANTE A CE NIVEAU LA
cmdSubmit_Click
CETTE MACRO EST DANS LA FEUIL5
MAIS COMMENT L APPELER?
Loop
End Sub

merci

5 réponses

Avatar
FFO
Salut à toi

Ne peux tu pas réaliser une macro classique dans laquelle tu
rapporterais tous le code de ce bouton et que tu appelerais dans ta
procédure
Run("Cette Macro classique")

Une solution

Dis moi !!!!!
Avatar
DanielCo
Bonjour,
La syntaxe est :
Sheets("Feuil5").cmdSubmit_Click
La macro "CommandButton1_Click" doit être publique (retire le
"private")
Cordialement.
Daniel


bonjour j ai une macro qui est dans une feuil4 qui s'execute super bien
voici un extrait de code
Private Sub CommandButton2_Click()
Sheets("feuil4").Select
Dim i As Integer
i = 1
Do While Range("B" & i) <> "" 'Faire la boucle tant que la cellule
sélectionée n'est pas vide
Range("c" & i).Value = "33" & Right(Range("B" & i).Value, 9)
i = i + 1 'Décalage de 1 ligne à chaque fois
Loop

i = 1
Sheets("feuil5").Select
Do While Sheets("feuil4").Range("c" & i) <> "" 'Faire la boucle tant que la
cellule sélectionée n'est pas vide
Sheets("feuil5").Range("b8") = Sheets("feuil4").Range("c" & i)
i = i + 1 'Décalage de 1 ligne à chaque fois

JE PLANTE A CE NIVEAU LA
cmdSubmit_Click
CETTE MACRO EST DANS LA FEUIL5
MAIS COMMENT L APPELER?
Loop
End Sub

merci
Avatar
steph b
merci bcp ca marche en effet
en mettant le public
mais j ai du retirer execution de compilation automatique au préalable je
sais pas pourquoi...
mais ca marche


"DanielCo" a écrit dans le message de news:
irfrnp$n0m$
Bonjour,
La syntaxe est :
Sheets("Feuil5").cmdSubmit_Click
La macro "CommandButton1_Click" doit être publique (retire le "private")
Cordialement.
Daniel


bonjour j ai une macro qui est dans une feuil4 qui s'execute super bien
voici un extrait de code
Private Sub CommandButton2_Click()
Sheets("feuil4").Select
Dim i As Integer
i = 1
Do While Range("B" & i) <> "" 'Faire la boucle tant que la cellule
sélectionée n'est pas vide
Range("c" & i).Value = "33" & Right(Range("B" & i).Value, 9)
i = i + 1 'Décalage de 1 ligne à chaque fois
Loop

i = 1
Sheets("feuil5").Select
Do While Sheets("feuil4").Range("c" & i) <> "" 'Faire la boucle tant que
la cellule sélectionée n'est pas vide
Sheets("feuil5").Range("b8") = Sheets("feuil4").Range("c" & i)
i = i + 1 'Décalage de 1 ligne à chaque fois

JE PLANTE A CE NIVEAU LA
cmdSubmit_Click
CETTE MACRO EST DANS LA FEUIL5
MAIS COMMENT L APPELER?
Loop
End Sub

merci




Avatar
MichD
Bonjour,

mais j ai du retirer execution de compilation automatique
au préalable je sais pas pourquoi...

Utilise le nom (propriété Name) de l'objet "Feuille" visible dans la fenêtre
de l'éditeur de code ta ligne de commande ressemblerait à :
Feuil5.cmdSubmit_Click
Toutes les procédures et Fonctions qui n'ont pas dans leur déclaration le mot
"Private" feront partie intégrante de la liste des propriétés et méthodes de la
liste déroulante après la saisie du point suivant le nom de l'objet.
Le module d'un objet "Feuille" représente un module de classe. Lorsque
tu ajoutes une procédure ou une fonction à ce type de module, c'est comme tu
ajoutais une méthode à cette classe (observe l'icône à côté du nom de la procédure
ou de la fonction dans la liste déroulante comme dans Feuil. ....)

Feuil5 n'est pas le nom de l'onglet de la feuille, mais la propriété "Name" de la feuille.

Quand tu utilises la propriété "Name" pour désigner l'objet, VBA est en mesure au moment
de la saisie de savoir si cet objet existe et de quel type d'objet il s'agit.
Quand tu utilises ceci : Sheets("Feuil5").cmdSubmit_Click , ce n'est qu'à l'exécution
du code qu'Excel est en mesure d'évaluer l'expression : Sheets("Feuil5") et pour
preuve, si tu utilises un nom d'onglet de feuille qui n'existe pas dans ton classeur,
ce n'est qu'à l'exécution qu'une erreur de type 9 est générée. Si tu utilises la propriété
name, on te signalera ta méprise sur le nom de l'objet dès que tu saisiras ton code car
la liste déroulante des propriétés et méthodes de l'objet ne s'affichera pas dès que tu
ajouteras le point après l'objet, ou dès que tu voudras lancer l'exécution, avant même
qu'une seule ligne s'exécute, la ligne du nom de l'objet est incorrecte te sera signalé.


MichD
--------------------------------------------
Avatar
steph b
merci bcp michD


"MichD" a écrit dans le message de news:
irg52m$eks$
Bonjour,

mais j ai du retirer execution de compilation automatique
au préalable je sais pas pourquoi...

Utilise le nom (propriété Name) de l'objet "Feuille" visible dans la
fenêtre
de l'éditeur de code ta ligne de commande ressemblerait à :
Feuil5.cmdSubmit_Click
Toutes les procédures et Fonctions qui n'ont pas dans leur déclaration le
mot
"Private" feront partie intégrante de la liste des propriétés et méthodes
de la
liste déroulante après la saisie du point suivant le nom de l'objet.
Le module d'un objet "Feuille" représente un module de classe. Lorsque
tu ajoutes une procédure ou une fonction à ce type de module, c'est comme
tu
ajoutais une méthode à cette classe (observe l'icône à côté du nom de la
procédure
ou de la fonction dans la liste déroulante comme dans Feuil. ....)

Feuil5 n'est pas le nom de l'onglet de la feuille, mais la propriété
"Name" de la feuille.

Quand tu utilises la propriété "Name" pour désigner l'objet, VBA est en
mesure au moment
de la saisie de savoir si cet objet existe et de quel type d'objet il
s'agit.
Quand tu utilises ceci : Sheets("Feuil5").cmdSubmit_Click , ce n'est qu'à
l'exécution
du code qu'Excel est en mesure d'évaluer l'expression : Sheets("Feuil5")
et pour
preuve, si tu utilises un nom d'onglet de feuille qui n'existe pas dans
ton classeur,
ce n'est qu'à l'exécution qu'une erreur de type 9 est générée. Si tu
utilises la propriété
name, on te signalera ta méprise sur le nom de l'objet dès que tu saisiras
ton code car
la liste déroulante des propriétés et méthodes de l'objet ne s'affichera
pas dès que tu
ajouteras le point après l'objet, ou dès que tu voudras lancer
l'exécution, avant même
qu'une seule ligne s'exécute, la ligne du nom de l'objet est incorrecte te
sera signalé.


MichD
--------------------------------------------