Visual sous excell
elcondor
-
elcondor -
elcondor -
Bonjour,
Dans un programme visual basic sous excell
à un moment je veux que celui donne le nom d'une variable au contenu de la cellule tant que celle ci est non vide et arréte cette procedure dés qu'il trouve une cellule vide
exemple
il va en a4 trouve une valeur la nomme a
donc descend d'une ligne trouve une valeur la nomme b
descend d'une ligne trouve une valeur la nomme c
etc jusqu'à ce que l'on tombe sur une cellule vide ou la on passe à une autre procédure
biensur la cellule vide risque de ne pas être toujours dans la même cellule
j'espère que j'ai été clair
merci de votre aide
daniel
Dans un programme visual basic sous excell
à un moment je veux que celui donne le nom d'une variable au contenu de la cellule tant que celle ci est non vide et arréte cette procedure dés qu'il trouve une cellule vide
exemple
il va en a4 trouve une valeur la nomme a
donc descend d'une ligne trouve une valeur la nomme b
descend d'une ligne trouve une valeur la nomme c
etc jusqu'à ce que l'on tombe sur une cellule vide ou la on passe à une autre procédure
biensur la cellule vide risque de ne pas être toujours dans la même cellule
j'espère que j'ai été clair
merci de votre aide
daniel
A voir également:
- Visual sous excell
- Visual petanque - Télécharger - Sport
- Visual c++ 2019 - Guide
- Visual paradigm - Télécharger - Gestion de données
- Visual watermark - Télécharger - Photo & Graphisme
- Visual basic - Télécharger - Langages
2 réponses
Bonjour,
Tu peux utiliser une boucle While ...Wend ou Do While :
;o)
Tu peux utiliser une boucle While ...Wend ou Do While :
Dim Lig As Long
Lig = 2
While Range("A") & lig).Value <> ""
'Ici le code à excécuter tant que la cellule n'est pas vide
'Dès qu'on trouve une cellule vide on sort de la boucle
Lig = Lig + 1
Wend
'Ici le code à exécuter après la première cellule vide
;o)
Bonjour,
Pour le problème de "a", ça vient de là : Range("a2").Select
Pour avoir la dernière valeur valide, il faut faire comme ça :
Pour la 2ème question, je ne comprends pas ce que tu cherches à faire.
;o)
Pour le problème de "a", ça vient de là : Range("a2").Select
Pour avoir la dernière valeur valide, il faut faire comme ça :
Dim lig As Long
lig = 2
While Range("a" & lig).Value <> ""
a = Range("a" & lig).Value
lig = lig + 1
Wend
Label1.Caption = a
Label2.Caption = b
Label3.Caption = c
End Sub
Pour la 2ème question, je ne comprends pas ce que tu cherches à faire.
;o)
pour la deuxieme question : c'est simple je cherche à rechercher dans une colonne des valeurs qui iront remplir des labels d'une boite de dialogue dés que celle ci s'ouvrira, sachant que ces valeurs peuvent avoir changé depuis la dernière ouverture.
En fait je résume j'ai une boite de dialogue avec plusieurs label et je veux qu'à chaque fois que j'ouvre cette boite de dialogue il remplisse ces différent label par les valeurs de la dite colonne par contre il se peux qu'il n'y ai pas toujours le même nombre de valeur à remplir (d'où la boucle)
je veux donc qu'il remplisse le label 1 avec la premiere cellule si non vide
qu'il remplisse le label 2 avec la deuxième cellule si non vide etc et si il trouve 5 valeurs alors qu'il y ai 6 labels ce n'est pas grave il laissera celui non remplit
j'espère que j'ai été assez clair
merci encore
daniel
En fait je résume j'ai une boite de dialogue avec plusieurs label et je veux qu'à chaque fois que j'ouvre cette boite de dialogue il remplisse ces différent label par les valeurs de la dite colonne par contre il se peux qu'il n'y ai pas toujours le même nombre de valeur à remplir (d'où la boucle)
je veux donc qu'il remplisse le label 1 avec la premiere cellule si non vide
qu'il remplisse le label 2 avec la deuxième cellule si non vide etc et si il trouve 5 valeurs alors qu'il y ai 6 labels ce n'est pas grave il laissera celui non remplit
j'espère que j'ai été assez clair
merci encore
daniel
De plus dans mon projet non seulement il faudrait récupérer le contenu des différentes cellules non vide mais les nommer avec des noms différents afin de pouvoir les copiers dans differents labels d'une boite de dialogue.
Voici ce que j'ai fait grâce a vos conseil mais qui ne me satisfait qu'en partie
Private Sub CommandButton1_Click()
Dim lig As Long
lig = 2
Range("a2").Select
While Range("a" & lig).Value <> ""
a = ActiveCell.Value
lig = lig + 1
Wend
Label1.Caption = a
Label2.Caption = b
Label3.Caption = c
End Sub
je vous remercie par avance de vos conseils avisés
daniel
Merci, cela à l'air de marcher le programme descend bien de ligne en ligne tant que le contenu de la cellule n'est pas vide et sort de cette procédure dés qu'il en rencontre une, par contre ce que je m'explique pas c'est qu'il garde pour a toujours la même valeur qui est contenu dans la première cellule rencontrée et ne change pas en fonction des différents contenu de cellules rencontrées.
De plus dans mon projet non seulement il faudrait récupérer le contenu des différentes cellules non vide mais les nommer avec des noms différents afin de pouvoir les copiers dans differents labels d'une boite de dialogue.
Voici ce que j'ai fait grâce a vos conseil mais qui ne me satisfait qu'en partie
Private Sub CommandButton1_Click()
Dim lig As Long
lig = 2
Range("a2").Select
While Range("a" & lig).Value <> ""
a = ActiveCell.Value
lig = lig + 1
Wend
Label1.Caption = a
Label2.Caption = b
Label3.Caption = c
End Sub
je vous remercie par avance de vos conseils avisés
daniel