[EXCEL] Selection de cellule dans une colonne
Résolu
ced3c
Messages postés
240
Statut
Membre
-
ced3c Messages postés 240 Statut Membre -
ced3c Messages postés 240 Statut Membre -
Bonjour,
J aimerais savoir comment je peux sélectionner automatiquement la cellule en dessous de celle mentionnée.
Plus simple par l exemple
je voudrais quelques chose comme
Je sais bien que cela serais plus simple de mettre C7 mais c'est pour automatiser une série de code
j espère avoir été clair
merci d'avance
J aimerais savoir comment je peux sélectionner automatiquement la cellule en dessous de celle mentionnée.
Plus simple par l exemple
je voudrais quelques chose comme
TextBox1.Value = Range("C6").Value
TextBox2.Value = Range(TextBox1.Value +1).Value
Range(TextBox1.Value +1)doit indiquer automatiquement la cellule en dessous de C6 (ici C7)
Je sais bien que cela serais plus simple de mettre C7 mais c'est pour automatiser une série de code
j espère avoir été clair
merci d'avance
8 réponses
-
Bonjour,
Pourquoi pas :ligne = 6 TextBox1.Value = Cells (ligne,3).Value TextBox2.Value = Cells (ligne + 1,3).Value
?
-
Bonjour,
ou bien (pour rester proche de la question mais la proposition de morgothal est très pertinente) :
TextBox2.Value = Range(TextBox1.Value).offset(1,0).Value
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait. -
merci Morgothal et ériiic pour vos réponses rapides
Pour la lisibilité de mon code je préférerais la méthode de ériiic qui se rapproche de se que je voudrais (je reconnais que ce n'est peut être pas la meilleure façon de faire ^^)
J'ai donc appliqué la méthode de ériiic mais j'obtiens une erreur '1004'
"La méthode 'Range' de l'objet '_Global' a échoué"
Auriez vous une solution svp ?
merci -
Voici un bout du code pour mon userform avec votre méthode (C6 deviens D3, j'ai fait quelques modifications)
With Sheets("2012") If ComboBox2 = "36" Then TextBox1.Value = Range("D3").Value TextBox2.Value = Range("D3").Offset(1, 0).Value TextBox3.Value = Range("D3").Offset(2, 0).Value TextBox4.Value = Range("D3").Offset(3, 0).Value TextBox5.Value = Range("D3").Offset(4, 0).Value TextBox6.Value = Range("D3").Offset(5, 0).Value TextBox7.Value = Range("D3").Offset(6, 0).Value End If
Ce code marche parfaitement
l'inconveniant est que j'ai plusieurs autres valeurs pour mon combobox2 et qu'en appliquant cette méthode je dois beaucoup de valeur
C'est pourquoi je prefererais plutot
With Sheets("2012") If ComboBox2 = "36" Then TextBox1.Value = Range("D3").Value TextBox2.Value = Range(TextBox1.Value).Offset(1, 0).Value TextBox3.Value = Range(TextBox1.Value).Offset(2, 0).Value TextBox4.Value = Range(TextBox1.Value).Offset(3, 0).Value TextBox5.Value = Range(TextBox1.Value).Offset(4, 0).Value TextBox6.Value = Range(TextBox1.Value).Offset(5, 0).Value TextBox7.Value = Range(TextBox1.Value).Offset(6, 0).Value End If
afin de ne changer qu'une valeur a chaque changement de nombre dans combobox2
Mais ce code ne marche pas, on dirait qu'il n'identifie pas la valeur du textbox1-
TextBox1.Value = Range("D3").Value TextBox2.Value = Range(TextBox1.Value).Offset(1, 0).Value
Range(TextBox1.Value) ne peut pas fonctionner, Range() attend une adresse de cellule (Range("A1") par exemple).
Dans Range(TextBox1.Value) tu lui donne la valeur de TextBox1...
C'est pour ça que plus haut j'avais misTextBox2.Value = Range("C6").offset(1,0).Value
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci pour ta réponse Morghthal
Je comprends
Y aurait il une autre solution a mon problème ? Je me vois mal modifier pour chaque textbox la cellule. C'est pour cela que je cherchais quelques chose d'automatique ou je ne changerais qu'une valeur.-
Pourquoi pas ainsi ?
With Sheets("2012") If ComboBox2 = "36" Then cellule = "D3" TextBox1.Value = Range(cellule).Value TextBox2.Value = Range(cellule).Offset(1, 0).Value TextBox3.Value = Range(cellule).Offset(2, 0).Value TextBox4.Value = Range(cellule).Offset(3, 0).Value TextBox5.Value = Range(cellule).Offset(4, 0).Value TextBox6.Value = Range(cellule).Offset(5, 0).Value TextBox7.Value = Range(cellule).Offset(6, 0).Value End If
-
-
Oui, cela marche très bien :)
Merci infiniment pour ta patience -
juste une derniere chose svp
If ComboBox2 = "36" Then Dim cellule As String cellule = "D3" TextBox1.Value = Range(cellule).Value TextBox2.Value = Range(cellule).Offset(1, 0).Value TextBox3.Value = Range(cellule).Offset(2, 0).Value TextBox4.Value = Range(cellule).Offset(3, 0).Value TextBox5.Value = Range(cellule).Offset(4, 0).Value TextBox6.Value = Range(cellule).Offset(5, 0).Value TextBox7.Value = Range(cellule).Offset(6, 0).Value End If
y a t il possibilité de mettre les declarations textbox sur une seule ligne afin de gagner de la place ? -