Selection de plusieur ligne
sam149
-
sam149 -
sam149 -
Bonjour,
je cherche à sélectionner plusieurs lignes en format (L,C). ces lignes ne sont pas toutes à la suite et dépendent de 5 variables rentrées par l'utilisateur dans 5 textbox
pour l'instant j'ai ça mais ça fonctionne pas bien sur sinon je serais pas là.
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40)).Select
merci d'avance
je cherche à sélectionner plusieurs lignes en format (L,C). ces lignes ne sont pas toutes à la suite et dépendent de 5 variables rentrées par l'utilisateur dans 5 textbox
pour l'instant j'ai ça mais ça fonctionne pas bien sur sinon je serais pas là.
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40)).Select
merci d'avance
A voir également:
- Selection de plusieur ligne
- Partage de photos en ligne - Guide
- Formulaire en ligne de meta - Guide
- Mètre en ligne - Guide
- Apparaitre hors ligne instagram - Guide
- Formule somme excel ligne - Guide
10 réponses
bonsoir
essaies avec la méthode UNION
application.union (Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40)).select
essaies avec la méthode UNION
application.union (Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40)).select
ça fonctionne un peut....
je m'explique: avec cette méthode il sélectionne les quatre cellules (a,1) (a,40) et (b,1) (b,40).
ce que je cherche à faire c'est sélectionner la plage sur la ligne a de la colonne 1 à 40 et idem pour la b (ça va même jusqu'à e mais si j'ai l'explication pour a et b je crois que je vais pouvoir l'étendre.)
la solution que je vois serai de mettre l'adresse des 40*5 cellules potentielles mais bon ça commence à faire...
doit avoir plus simple.
merci pour ce première élément et d'avance pour les futurs
je m'explique: avec cette méthode il sélectionne les quatre cellules (a,1) (a,40) et (b,1) (b,40).
ce que je cherche à faire c'est sélectionner la plage sur la ligne a de la colonne 1 à 40 et idem pour la b (ça va même jusqu'à e mais si j'ai l'explication pour a et b je crois que je vais pouvoir l'étendre.)
la solution que je vois serai de mettre l'adresse des 40*5 cellules potentielles mais bon ça commence à faire...
doit avoir plus simple.
merci pour ce première élément et d'avance pour les futurs
Désolé, mais j'ai répondu à ta question...
C'est AVANT d'envoyer ton message qu'il fallait réfléchir et expliquer...
Ciaio
C'est AVANT d'envoyer ton message qu'il fallait réfléchir et expliquer...
Ciaio
houa! t'es dure là....
;)
oui j'ai peut etre pas été super clair. en même temps le titre du message est la sélection de plusieurs lignes et non cellules.
en gros comme je ne suis pas super compétent sur vb je me suis inspiré de ça:
Range("A18:L18,A21:L21,A29:L29").Select
mais en format (L,C)
heu...en relisant mon premier message j'ai quand même précisé que je voulais sélectionner des lignes et non des cellules. c'est juste mon code de base qui été pas bon sinon je serais pas là....
merci à+
;)
oui j'ai peut etre pas été super clair. en même temps le titre du message est la sélection de plusieurs lignes et non cellules.
en gros comme je ne suis pas super compétent sur vb je me suis inspiré de ça:
Range("A18:L18,A21:L21,A29:L29").Select
mais en format (L,C)
heu...en relisant mon premier message j'ai quand même précisé que je voulais sélectionner des lignes et non des cellules. c'est juste mon code de base qui été pas bon sinon je serais pas là....
merci à+
up
michel dit que je ne réfléchie pas pourtant j'ai cherché toute la journée et n'ai pas trouvé. J'ai quant même bien défini ce que je voulais.
michel t'a même retirer le cordialement dans ta signature...
pourtant je cherche juste à m'informer pour m'améliorer comme ce que tu as dit dans des précédent message, que ce type de forum t'avais bcp apporter.
voilà enfin si quelqu'un à une idée merci d'avance
michel dit que je ne réfléchie pas pourtant j'ai cherché toute la journée et n'ai pas trouvé. J'ai quant même bien défini ce que je voulais.
michel t'a même retirer le cordialement dans ta signature...
pourtant je cherche juste à m'informer pour m'améliorer comme ce que tu as dit dans des précédent message, que ce type de forum t'avais bcp apporter.
voilà enfin si quelqu'un à une idée merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Voici une suggestion :
Lupin
Voici une suggestion :
Option Explicit
'
Sub SelectionSpecial()
Dim Plage As Range
Dim Adresse As String
Dim strNF As String
strNF = "dossiers en cours"
' Construire par programmation la
' séquence des cellules à sélectionner
' dans la variable [ Adresse ]
Adresse = "A1:A40,B1:B40"
' Définir la plage
Set Plage = Sheets(strNF).Range(Adresse)
' Effectuer la sélection
Plage.Select
End Sub
'
Lupin
merci pour la réponse.
je vais encore me faire taper sur les doigts car j'ai pas du expliquer comme il faut. en faite mon a et b sont des variables qui correspondent à ce que l'utilisateur entre dans des textbox.
le code est le suivant:
Private Sub CommandButton1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Worksheets("dossiers en cours").Activate
If UserForm1.TextBox1 = "" Or UserForm1.TextBox1 = 0 Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox2 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox3 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox4 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox4 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
End If
End If
End If
End If
End If
a = UserForm1.TextBox1
b = UserForm1.TextBox1
c = UserForm1.TextBox1
d = UserForm1.TextBox1
e = UserForm1.TextBox1
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Copy
Worksheets("dossiers déposés").Activate
i = 33
While Not Range("p" & i & "").Value = ""
i = i + 1
Wend
Cells(i, 1).Select
ActiveSheet.Paste
Worksheets("dossiers en cours").Activate
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Delete Shift:=xlUp
Worksheets("dossiers déposés").Activate
UserForm1.Hide
End Sub
merci d'avance
je vais encore me faire taper sur les doigts car j'ai pas du expliquer comme il faut. en faite mon a et b sont des variables qui correspondent à ce que l'utilisateur entre dans des textbox.
le code est le suivant:
Private Sub CommandButton1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Worksheets("dossiers en cours").Activate
If UserForm1.TextBox1 = "" Or UserForm1.TextBox1 = 0 Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox2 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox3 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox4 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
If UserForm1.texbox4 = "" Then
MsgBox "il faut enter le n° de la ligne ou 0", vbOKOnly, "attention"
Exit Sub
End If
End If
End If
End If
End If
a = UserForm1.TextBox1
b = UserForm1.TextBox1
c = UserForm1.TextBox1
d = UserForm1.TextBox1
e = UserForm1.TextBox1
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Copy
Worksheets("dossiers déposés").Activate
i = 33
While Not Range("p" & i & "").Value = ""
i = i + 1
Wend
Cells(i, 1).Select
ActiveSheet.Paste
Worksheets("dossiers en cours").Activate
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Delete Shift:=xlUp
Worksheets("dossiers déposés").Activate
UserForm1.Hide
End Sub
merci d'avance
avec le bon code ce sera mieux désolé.
ce qui ne va pas c'est dans la sélection quand il y a des valeur de textbox à 0 la ligne de selection devrait les ignorer.
ce qui ne va pas c'est dans la sélection quand il y a des valeur de textbox à 0 la ligne de selection devrait les ignorer.
Private Sub CommandButton1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Worksheets("dossiers en cours").Activate
If UserForm1.TextBox1 = "" Or UserForm1.TextBox1 = 0 Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox2 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox3 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox4 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox5 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
End If
End If
End If
End If
End If
a = UserForm1.TextBox1
b = UserForm1.TextBox2
c = UserForm1.TextBox3
d = UserForm1.TextBox4
e = UserForm1.TextBox5
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Copy
Worksheets("dossiers déposés").Activate
i = 33
While Not Range("p" & i & "").Value = ""
i = i + 1
Wend
Cells(i, 1).Select
ActiveSheet.Paste
Worksheets("dossiers en cours").Activate
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Delete Shift:=xlUp
Worksheets("dossiers déposés").Activate
UserForm1.Hide
End Sub
re :
exemple type :
Lupin
exemple type :
Private Sub cmd_Execute_Click()
Worksheets("dossiers en cours").Activate
If UserForm1.TextBox1 = "" Or UserForm1.TextBox1 = 0 Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox2 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox3 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox4 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
If UserForm1.TextBox5 = "" Then
MsgBox "il faut enter le n° de la ligne", vbOKOnly, "attention"
Exit Sub
End If
End If
End If
End If
End If
a = UserForm1.TextBox1
b = UserForm1.TextBox2
c = UserForm1.TextBox3
d = UserForm1.TextBox4
e = UserForm1.TextBox5
Adresse = "A" & a & ":AN" & a & ",A" & b & ":AN" & b
Adresse = Adresse & ",A" & c & ":AN" & c & ",A" & d & ":AN" & d
Set Plage = Range(Adresse)
Plage.Select
'Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Copy
Worksheets("dossiers déposés").Activate
i = 33
While Not Range("p" & i & "").Value = ""
i = i + 1
Wend
Cells(i, 1).Select
ActiveSheet.Paste
Worksheets("dossiers en cours").Activate
Worksheets("dossiers en cours").Range(Cells(a, 1), Cells(a, 40), Cells(b, 1), Cells(b, 40), Cells(c, 1), Cells(c, 40), Cells(d, 1), Cells(d, 40)).Select
Selection.Delete Shift:=xlUp
Worksheets("dossiers déposés").Activate
UserForm1.Hide
End Sub
'
Lupin
re:
Utilise l'enregistreur de macro de Excel
-> // Menu / Outils / Macro / Nouvelle macro ...
Effectue la sélection de différente cellule comme tu voudrais le faire dans ta macro.
Va voir le code :
Tu obtiendra quelque chose comme :
Range("A2:AN2,A6:AN6,A10:AN10").Select
d'où la partie [ "A2:AN2,A6:AN6,A10:AN10" ] peut-être reconstitué facilement
comme une chaine de caractère avec le symbole de concaténation [ & ].
ici dans cette exemple, il faut remplacer 2 par a, 6 par b et 10 par c
"A" & a & ":AN" & a & ",A" & b & ":AN" & b & ",A" & c & ":AN" & c
d'où :
' Place un espion sur la variable [ Adresse ] pour en valider la structure.
Adresse = "A" & a & ":AN" & a & ",A" & b & ":AN" & b & ",A" & c & ":AN" & c
Set Plage = Range(Adresse)
Lupin
Utilise l'enregistreur de macro de Excel
-> // Menu / Outils / Macro / Nouvelle macro ...
Effectue la sélection de différente cellule comme tu voudrais le faire dans ta macro.
Va voir le code :
Tu obtiendra quelque chose comme :
Range("A2:AN2,A6:AN6,A10:AN10").Select
d'où la partie [ "A2:AN2,A6:AN6,A10:AN10" ] peut-être reconstitué facilement
comme une chaine de caractère avec le symbole de concaténation [ & ].
ici dans cette exemple, il faut remplacer 2 par a, 6 par b et 10 par c
"A" & a & ":AN" & a & ",A" & b & ":AN" & b & ",A" & c & ":AN" & c
d'où :
' Place un espion sur la variable [ Adresse ] pour en valider la structure.
Adresse = "A" & a & ":AN" & a & ",A" & b & ":AN" & b & ",A" & c & ":AN" & c
Set Plage = Range(Adresse)
Lupin
re:
Je suis désolé, j'ai poussé ma façon de penser plutôt que de répondre à ta question :-(
Un tutoriel , voilà ta question :-)
Recherche avec ces mots clés :
Les expressions régulières sont utilisées dans les expression SQL qui elles sont utilisées
dans des expressions XML. Bon c'est un portrait très grossier, mais cela devrait bien guider
tes recherches dans la bonne direction.
Lupin
Je suis désolé, j'ai poussé ma façon de penser plutôt que de répondre à ta question :-(
Un tutoriel , voilà ta question :-)
Recherche avec ces mots clés :
De base : [ Expression Régulières ] Intermédiaire : [ Expression SQL ] Avancée : [ Expression XML ]
Les expressions régulières sont utilisées dans les expression SQL qui elles sont utilisées
dans des expressions XML. Bon c'est un portrait très grossier, mais cela devrait bien guider
tes recherches dans la bonne direction.
Lupin