Un classeur dont 4 onglets contiennent un tableau croisé dynamique.
Les noms sont : Vente par année, Vente par projet, Revenu par année,
Revenu par projet.
Après un double-clic dans un tableau croisé dynamique, une feuille est
insérée à gauche de l'onglet contenant le tableau croisé dynamique et
elle devient la feuille active.
J'ai déjà une macro qui s'exécute lors de cet événement :
Private x
Private Sub Workbook_NewSheet(ByVal Sh As Object)
x = ActiveSheet.Index
MiseEnFormeNouvelleFeuille
End Sub
Sub MiseEnFormeNouvelleFeuille()
codes...
End Sub
Je voudrais, à l'intérieur de cette macro, appeler une macro :
Si le nom de l'onglet situé après ou à droite de la feuille active
contient Vente appeler macro Vente.
Si le nom de l'onglet situé après ou à droite de la feuille active
contient Revenu appeler macro Revenu.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Corona
Bonsoir Céline, En vitesse (attention faire un test si index + 1 existe) If InStr(ThisWorkbook.Sheets(ActiveSheet.Index + 1).Name, "Vente") Then MsgBox "Macro Vente" If InStr(ThisWorkbook.Sheets(ActiveSheet.Index + 1).Name, "Revenu") Then MsgBox "Macro Revenu" Philippe
"Céline Brien" a écrit dans le message de news:
Bonjour à tous et à toutes,
Un classeur dont 4 onglets contiennent un tableau croisé dynamique.
Les noms sont : Vente par année, Vente par projet, Revenu par année, Revenu par projet.
Après un double-clic dans un tableau croisé dynamique, une feuille est insérée à gauche de l'onglet contenant le tableau croisé dynamique et elle devient la feuille active.
J'ai déjà une macro qui s'exécute lors de cet événement :
Private x
Private Sub Workbook_NewSheet(ByVal Sh As Object)
x = ActiveSheet.Index
MiseEnFormeNouvelleFeuille
End Sub
Sub MiseEnFormeNouvelleFeuille()
codes...
End Sub
Je voudrais, à l'intérieur de cette macro, appeler une macro :
Si le nom de l'onglet situé après ou à droite de la feuille active contient Vente appeler macro Vente.
Si le nom de l'onglet situé après ou à droite de la feuille active contient Revenu appeler macro Revenu.
N'hésitez pas si vous avez des questions,
Merci de votre aide si précieuse,
Céline
Bonsoir Céline,
En vitesse (attention faire un test si index + 1 existe)
If InStr(ThisWorkbook.Sheets(ActiveSheet.Index + 1).Name, "Vente") Then
MsgBox "Macro Vente"
If InStr(ThisWorkbook.Sheets(ActiveSheet.Index + 1).Name, "Revenu") Then
MsgBox "Macro Revenu"
Philippe
"Céline Brien" <celinebrien@laurentides.qc.ca> a écrit dans le message de
news: uTL3JvLKFHA.3340@TK2MSFTNGP14.phx.gbl...
Bonjour à tous et à toutes,
Un classeur dont 4 onglets contiennent un tableau croisé dynamique.
Les noms sont : Vente par année, Vente par projet, Revenu par année,
Revenu par projet.
Après un double-clic dans un tableau croisé dynamique, une feuille est
insérée à gauche de l'onglet contenant le tableau croisé dynamique et
elle devient la feuille active.
J'ai déjà une macro qui s'exécute lors de cet événement :
Private x
Private Sub Workbook_NewSheet(ByVal Sh As Object)
x = ActiveSheet.Index
MiseEnFormeNouvelleFeuille
End Sub
Sub MiseEnFormeNouvelleFeuille()
codes...
End Sub
Je voudrais, à l'intérieur de cette macro, appeler une macro :
Si le nom de l'onglet situé après ou à droite de la feuille active
contient Vente appeler macro Vente.
Si le nom de l'onglet situé après ou à droite de la feuille active
contient Revenu appeler macro Revenu.
Bonsoir Céline, En vitesse (attention faire un test si index + 1 existe) If InStr(ThisWorkbook.Sheets(ActiveSheet.Index + 1).Name, "Vente") Then MsgBox "Macro Vente" If InStr(ThisWorkbook.Sheets(ActiveSheet.Index + 1).Name, "Revenu") Then MsgBox "Macro Revenu" Philippe
"Céline Brien" a écrit dans le message de news:
Bonjour à tous et à toutes,
Un classeur dont 4 onglets contiennent un tableau croisé dynamique.
Les noms sont : Vente par année, Vente par projet, Revenu par année, Revenu par projet.
Après un double-clic dans un tableau croisé dynamique, une feuille est insérée à gauche de l'onglet contenant le tableau croisé dynamique et elle devient la feuille active.
J'ai déjà une macro qui s'exécute lors de cet événement :
Private x
Private Sub Workbook_NewSheet(ByVal Sh As Object)
x = ActiveSheet.Index
MiseEnFormeNouvelleFeuille
End Sub
Sub MiseEnFormeNouvelleFeuille()
codes...
End Sub
Je voudrais, à l'intérieur de cette macro, appeler une macro :
Si le nom de l'onglet situé après ou à droite de la feuille active contient Vente appeler macro Vente.
Si le nom de l'onglet situé après ou à droite de la feuille active contient Revenu appeler macro Revenu.