Condition dans un MsgBox
Bonjour à tous,
je vous montre mon code :
MsgBox "Administratif = " & CompteurAdmin & " Fichiers créés" & vbCrLf & _
"Brassage et filtration = " & CompteurBrassage & " Fichiers créés" & vbCrLf & _
"Commercial = " & CompteurCommercial & " Fichiers créés" & vbCrLf & _
"Commercial CHD = " & CompteurCHD & " Fichiers créés" & vbCrLf & _
"Commercial GMS = " & CompteurGMS & " Fichiers créés" & vbCrLf & _
"Condi. VP et BOITES = " & CompteurCondi & " Fichiers créés" & vbCrLf & _
"Controle qualité = " & CompteurQualite & " Fichiers créés" & vbCrLf & _
"Logistique = " & CompteurLogistique & " Fichiers créés" & vbCrLf & _
"Services généraux = " & CompteurSG & " Fichiers créés" & vbCrLfC'est du détail mais j'aimerai savoir comment je peux faire pour afficher seulement les compteurs qui sont différents de 0. J'ai beau chercher je ne vois pas comment le faire sans que ça devienne une usine à gaz.
Tant que j'y suis, j'ai une autre question :
Savez-vous pourquoi "Commercial" est la seule catégorie qui affiche 0 fichier quand les autres n'affichent rien ? ( je précise que tout est déclaré de la même manière et mes compteurs ne sont pas initialisés à 0)
Merci à vous pour votre aide !
- Messages
- 3'678
- Excel
- 365, 2019
- Inscrit
- 11/04/2020
- Emploi
- Formateur bureautique, dvpt de fichiers
Bonjour,
Pour le 0, est-tu sûr que tout est déclaré pareil ? N'as-tu pas des variables en string et d'autres en integer ? Si c'est bien tout déclaré pareil, alors cela vient du contenu de tes variables mais sans voir le fichier, dur de te répondre.
Sinon, une solution pourrait être de tout mettre dans des if. Un pro te trouvera certainement quelque chose de plus pratique :
message = if CompteurAdmin <> 0 then "Administratif = " & CompteurAdmin & " Fichiers créés" & vbCrLf & _
if CompteurBrassage <> 0 then "Brassage et filtration = " & CompteurBrassage & " Fichiers créés" & vbCrLf & _
....
MsgBox messageMerci pour votre réponse !
J'ai vérifié et mes variables sont toutes déclarées de la même manière, mais de toute façon si j'arrive à afficher seulement les compteurs différents de 0 j'initialiserai mes variables à 0, c'était juste par curiosité.
C'est bien pensé de passer par une variable pour l'affichage. Par contre avec le bout de code que j'ai pu tester j'obtiens une erreur de syntaxe, je crois qu'il n'est pas possible de mettre des conditions à l'intérieur de la variable, pouvez-vous me dire si vous obtenez la même erreur que moi ?
Merci beaucoup !
- Messages
- 3'678
- Excel
- 365, 2019
- Inscrit
- 11/04/2020
- Emploi
- Formateur bureautique, dvpt de fichiers
Oui, ce que j'ai mis est très mal structuré et ne peut absolument pas fonctionner en l'état d'ailleurs. C'était pour donner l'idée générale.
Pour ce qui est de savoir si ça marche ou pas de mon côté, je n'ai malheureusement pas le courage d'aller créer un fichier avec des variables que j'irais remplir je ne sais comment juste pour le plaisir de tester.
Salut Jérôme,
Salut JoyeuxNoël,
encore en butte à de petits soucis ?
sMsg = sMsg & IIf(CompteurAdmin = 0, "", "Administratif = " & IIf(CompteurAdmin = 1, "1 Fichier créé", CompteurAdmin & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurBrassage = 0, "", "Brassage et filtration = " & IIf(CompteurBrassage = 1, "1 Fichier créé", CompteurBrassage & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurCommercial = 0, "", "Commercial = " & IIf(CompteurCommercial = 1, "1 Fichier créé", CompteurCommercial & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurCHD = 0, "", "Commercial CHD = " & IIf(CompteurCHD = 1, "1 Fichier créé", CompteurCHD & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurGMS = 0, "", "Commercial GMS = " & IIf(CompteurGMS = 1, "1 Fichier créé", CompteurGMS & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurCondi = 0, "", "Condi. VP et BOITES = " & IIf(CompteurCondi = 1, "1 Fichier créé", CompteurCondi & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurQualite = 0, "", "Controle qualité = " & IIf(CompteurQualite = 1, "1 Fichier créé", CompteurQualite & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurLogistique = 0, "", "Logistique = " & IIf(CompteurLogistique = 1, "1 Fichier créé", CompteurLogistique & " Fichiers créés") & Chr(10))
sMsg = sMsg & IIf(CompteurSG = 0, "", "Services généraux = " & IIf(CompteurSG = 1, "1 Fichier créé", CompteurSG & " Fichiers créés"))
'
MsgBox sMsg
A+
C'est exactement ce que je cherchais, avec la différenciation entre 1 ou plusieurs fichiers en bonus !
Merci pour vos réponses / votre temps