Saut d'une valeur dans une liste déroulante (VBA)

  • Initiateur de la discussion Initiateur de la discussion Cain
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Cain

XLDnaute Nouveau
Bonjour à tous !

Je débute en VBA et suis loin d'être au niveau... Je vous explique mon problème 😛

J'ai une liste déroulante qui me permet de sélectionner une date et par la suite des calculs sont faits automatiquement sur la feuille selon la période sélectionnée. Pour certaine période il s'avère que j'ai un total égal à 0, ce qui est normal.

J'essaye donc de créer une macro qui sélectionne toutes les valeurs de la liste déroulante et lance une impression automatique de la feuille à chaque fois. Mais j'aimerais que lorsque le total est égal à 0 il n'y ai pas d'impression et que la macro passe aux autres données de la liste.

J'ai créé une macro qui me permet d'imprimer toutes les feuilles de la liste déroulante, et donc il y a aussi celles dont le total est nul et qui ne m'interessent pas.. Voici la macro (en orange la source du problème) :


Sub ImprimerTousClients()
If Range("C17") <> "0" Then
Dim c As Range
For Each c In Range("H6:H17")
Range("B3").Value = c.Value
Worksheets("NAME DATE").PrintOut
Next c
Else
Range("B3").Select
Do While Not (IsEmpty(ActiveCell))
NbLigne = NbLigne +
Selection.Offset(1, 0).Select
Loop

End If
End Sub


Si vous pouvez m'aidez je vous en serais gré ! 😉

Andrea
 
Re : Saut d'une valeur dans une liste déroulante (VBA)

bonjour

Sûr de n'avoir pas tout compris.

Avec le code Range("B3").Value = c.Value, le tableau est mis à jour et si le total =0 on ne veut pas imprimer.

Si c'est cela , dans quelle cellule se trouve le total ? S'il est toujours en C17 le code suivant devrait marcher:

Code:
Sub ImprimerTousClients()
    Dim c As Range
    For Each c In Range("H6:H17")
       Range("B3").Value = c.Value
       If Range("C17").Value <> 0 Then  Worksheets("NAME DATE").PrintOut
   Next c
A+

Edit: Rajout du code oublié !
Re Edit : modification du code . Pas en forme non plus aujourd'hui.

Re Re Edit: sans oublier le End Sub en fin de code !!!
 
Dernière édition:
Re : Saut d'une valeur dans une liste déroulante (VBA)

C'est exactement ce que je cherchais ! Merci beaucoup de votre réponse (rapide en plus !) et désolé si je n'ai pas été très clair en exposant mon problème ! Je vais enfin pouvoir avancer maintenant 😉

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
248
Réponses
4
Affichages
166
Réponses
10
Affichages
496
Réponses
1
Affichages
438
Retour