Affichage de n variables dans une MsgBox

[Résolu]
Signaler
Messages postés
27
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
11 mai 2007
-
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
-
Bonjour,

Comment afficher n variables via une msgbox sous VBA.
Les variables en question sont les numéros de ligne des cellules vides dans une colonne quelconque.
n étant limité, car il y a une autre condition qui évite d'avoir un grand nombre de variables.
Cette condition étant: afficher ces numéros de ligne de cellules vides de la colonne F, par exemple, à condition que sur la même ligne, la cellule de la colonne X soit remplie.

Voilà voilà, j'espère avoir été clair...ceux qui ne sont pas de cet avis, là chui désolé mais je peux plus rien pour eux.

11 réponses

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
V1 & "-" & V2 & "-" & V3 & "-" & V4

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Il me semble qu'on t'avais répondu non ?

Il te faut concaténer dans une chaîne de caractère toutes tes variables, par exemple :

MsgBox variable1 & " " & variable2 & " " & variable3 'etc.

Bien sûr, le mieux c'est de mettre tes variables dans un tableau, et ainsi faire la concaténation avec une boucle :

Dim s as string
For i = 0 to UBound(tonTableau)

    s = s & tonTableau(i)

next i
MsgBox s
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Bonjour,

tu es clair dans ton explication mais tu n'es pas du tout en phase avec ton pb. Il est clair que c'est pas la concatenation de variable qui te pose probleme car sinon tu serais deja passé a autre chose (etant donné le nombre de reponse valable que tu as recu a ce sujet). De plus, c'est pas le msgbox qui aurait posé probleme mais simplement une manipulation de chaine de caractetes. Le msgbox n'affiche qu'une chaine. C'est pas un datareport non plus.

Ce que tu cherches avant tout, c'est un code qui te permet de localiser les lignes vides de la colonne F dont la colonne X est remplie. C'est tout. Le reste c'est de la manipulation de chaine avec &.

Donc je pense que si quelqu'un connais VBA excel, c'est vers cela qu'il faut s'orienter. Bien sur, si je me trompe, fais le moi savoir.
Messages postés
27
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
11 mai 2007

si avec la concaténation, je ne sais pas comment afficher mes différentes variables séparés par des "-"?
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Private Sub CommandButton1_Click()
Dim I As Integer
Dim NbLigne As Integer
Dim Toto As String


Toto = ""
NbLigne = 13 'pour l'exemple


For I = 1 To NbLigne


If Cells(I, 6) = "" And Cells(I, 24) <> "" Then


Toto = Toto & vbCrLf & CStr(I)


End If


Next I


MsgBox (Toto)


End Sub

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
ajoute le "-" dans ta concaténation !!!!
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Tu vois que tu n'es pas precis puisque maintenant tu nous parle de "-".

Avec le code de drikce06, tu as tout ce qui te faut (car c'est clair, meme pour un nulosse comme moi, en VBA Excel).
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Private Sub CommandButton1_Click()
Dim I As Integer
Dim NbLigne As Integer
Dim Toto As String


Toto = ""
NbLigne = 13 'pour l'exemple


For I = 1 To NbLigne


If Cells(I, 6) = "" And Cells(I, 24) <> "" Then


Toto = Toto & "-" & CStr(I)


End If


Next I


MsgBox (Toto)


End Sub

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
27
Date d'inscription
mardi 10 avril 2007
Statut
Membre
Dernière intervention
11 mai 2007

Nicko11, je ne peux pas tout dire dans le moindre détail, l'objet de mon message était de connaître les commandes à utiliser pour me pencher ensuite sur le code, je pense que lorsqu'on est débutant, ça peut être un moyen relativement rapide pour apprendre à faire des choses.
J'avoue cependant qu'il faut être précis dans ses explications pour éviter certaines mauvaises interprétations.
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Bien sur qu'il faut essayé par soi-meme (et c'est tout a ton honneur) sauf que depuis hier, nous avons du mal a comprendre ce que tu veux réellement puisque tu ne nous orientes que petit à petit.

Je te donnes un exemple. Au debut, tu cherche a concaténer des variables. OK. Donc il est intuitif de penser que le reste (localisation des cellules vides) est deja fait. Or, cela ne semblait pas etre le cas finalement.

C'est donc en cela, que je souhaitais que tu sois précis, car dans ce cas, tu aurais eu le code de Drikce06 bien plus rapidement.

Je penses donc a present, le sujet devrait etre resolu tres prochainement.