Macro excel
Résolu
zMaster_
Messages postés
5
Statut
Membre
-
zMaster_ Messages postés 5 Statut Membre -
zMaster_ Messages postés 5 Statut Membre -
Bonjour à tous.
Je n'ai aucune connaissance des macros et j'ai chercher mon problème sur les forums sans trouver réponse à mon problème, c'est pour cela que je le pose ici.
J'ai essayer de créer une macro me permettant d'imprimer ma première feuille qui sera toujours imprimer et ma deuxième feuille qui sera imprimer SEULEMENT s'il y a quelque chose d'inscrit dans la case des observations.
J'ai essayer de créer quelque chose comme ceci : observation = vide alors la case H3 = 1 sinon = 2 et de créer une macro découlant de ceci.
Sub test()
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target) And Target.Address = "$H$3" Then
Select Case Target.Value
Case Is = 1: impression_page1
Case Is = 2: impression_2pages
End Select
End If
End Sub
Avec cette macro il m'affiche un message d'erreur :
Erreur de compilation : End sub attendu
J'ai enregistrer mes 2 macros d'impression à la main : impressions_page1 & impressions_2pages
Je vous remercie d'avance pour votre aide,
Cordialement.
Je n'ai aucune connaissance des macros et j'ai chercher mon problème sur les forums sans trouver réponse à mon problème, c'est pour cela que je le pose ici.
J'ai essayer de créer une macro me permettant d'imprimer ma première feuille qui sera toujours imprimer et ma deuxième feuille qui sera imprimer SEULEMENT s'il y a quelque chose d'inscrit dans la case des observations.
J'ai essayer de créer quelque chose comme ceci : observation = vide alors la case H3 = 1 sinon = 2 et de créer une macro découlant de ceci.
Sub test()
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target) And Target.Address = "$H$3" Then
Select Case Target.Value
Case Is = 1: impression_page1
Case Is = 2: impression_2pages
End Select
End If
End Sub
Avec cette macro il m'affiche un message d'erreur :
Erreur de compilation : End sub attendu
J'ai enregistrer mes 2 macros d'impression à la main : impressions_page1 & impressions_2pages
Je vous remercie d'avance pour votre aide,
Cordialement.
6 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
merci d'utiliser les balises de code, comme expliqué ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
tu n'as pas expliqué ce qui déclenchais ta macro. -
Bonsoir,
Sub test()
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
En VBA, on ne peut pas déclarer une Sub dans une autre et si c'était possible, il manquerait un End Sub pour faire l'affaire. -
Bonjour,
Pour ce qui déclenche ma macro, c'est un bouton que j'ai sur ma première feuille.
J'ai enlever la ligne, ce qui me donne
Sub test() If Target.Cells.Count > 1 Then Exit Sub If IsNumeric(Target) And Target.Address = "$H$3" Then Select Case Target.Value Case Is = 1: impression_page1 Case Is = 2: impression_2pages End Select End If End Sub
En faisait ceci, il m'affiche une erreur d'exécution '424'
Objet requis.
Il m'affiche en jaune la première ligne, est-ce qu'il me manque une sélection de case ou quelque chose comme ça ?
J'ai reprit l'ensemble de code sur un autre forum et j'ai essayer de le modifier pour l'adapter à ce que je cherche.
Merci d'avance,
Cordialement -
Bonjour,
J'ai essayé votre macro, elle fonctionne mais elle m'imprime les 2 pages même si ma case H3 et = 1 .
J'ai essayé de la modifier comme ceciSub test() If [H3] = "" Then impression_page1 Else impression_2pages End If End Sub
Mais même comme ceci elle m'imprime les 2 pages.
J'ai aussi essayéSub Final() If [H3] = 1 Then impression_page1 Else: [H3] = 2 impression_2pages End If End Sub
J'ai modifier avec 2 bloc If mais même avec un second bloc End If, la macro ne fonctionne pas.
C'est comme s'il ne prenait pas ma contrainte en compte.
J'ai aussi pensé à inclure ma deuxième feuille sur la première, je ne sais pas si ceci aura une influence ou que ce soit plus simple.
Merci d'avance,
Cordialement. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ca me fait la même chose, il m'imprime les deux feuilles même si ma case est = 1
-
Bonjour,
Je vous remercie yg_be de votre aide et d'avoir prit le temps de m'aider, votre solution fonctionne !
Avec le msgbox, il prend en compte ma contrainte.
Je peut clore le sujet.
Cordialement.