Selection multiple de lignes en fonction d'un texte VBA

bonjour à tous,

je suis nouveau ici et je viens vers vous en espérant trouver une réponse à une réponse sur laquelle je penche depuis 8h maintenant XD

alors voila j'ai une liste de données :

CMD_OUT\XXX DESCRIPTION

DIN\XXX DESCRIPTION

EQUIP\EQ_XXX\EQ_XXX DESCRIPTION

EQUIP\EQ_XXX\HOUR

EQUIP\EQ_XXX\MINUTE

EQUIP\EQ_XXX\SECOND

FUNCTION\FCT_XXX_YYY\FCT_XXX_YYY DESCRIPTION

FUNCTION\FCT_XXX_YYY\IC\IC_01 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_02 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_03 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_04 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_05 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_06 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_07 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_08 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_09 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_10 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_11 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_12 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_13 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_14 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_15 RESERVE

FUNCTION\FCT_XXX_YYY\IC\IC_16 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_01 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_02 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_03 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_04 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_05 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_06 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_07 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_08 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_09 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_10 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_11 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_12 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_13 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_14 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_15 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_16 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_17 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_18 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_19 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\DEC_MEAS_20 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_01 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_02 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_03 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_04 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_05 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_06 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_07 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_08 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_09 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_10 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_11 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_12 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_13 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_14 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_15 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_16 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_17 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_18 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_19 RESERVE

FUNCTION\FCT_XXX_YYY\MEAS\MEAS_20 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_01 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_02 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_03 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_04 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_05 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_06 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_07 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_08 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_09 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_10 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_11 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_12 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_13 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_14 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_15 RESERVE

FUNCTION\FCT_XXX_YYY\OPT\OPT_16 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_01 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_02 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_03 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_04 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_05 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_06 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_07 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_08 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_09 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_10 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_11 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_12 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_13 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_14 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_15 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_16 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_17 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_18 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_19 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\DEC_PARAM_20 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_01 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_02 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_03 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_04 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_05 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_06 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_07 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_08 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_09 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_10 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_11 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_12 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_13 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_14 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_15 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_16 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_17 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_18 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_19 RESERVE

FUNCTION\FCT_XXX_YYY\PARAM\PARAM_20 RESERVE

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_01 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_02 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_03 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_04 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_05 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_06 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_07 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_08 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_09 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_10 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_11 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_12 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_13 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_14 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_15 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_16 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_17 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_18 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_19 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\DEC_SP_20 Number of decimal (0/1/2)

FUNCTION\FCT_XXX_YYY\SP\SP_01 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_02 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_03 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_04 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_05 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_06 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_07 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_08 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_09 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_10 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_11 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_12 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_13 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_14 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_15 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_16 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_17 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_18 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_19 RESERVE

FUNCTION\FCT_XXX_YYY\SP\SP_20 RESERVE

IANA\XXX\XXX DESCRIPTION

IANA\XXX\MAX

IANA\XXX\MIN

IANA\XXX\NB_DEC Number of decimal (0/1/2)

MOTOR\XXX DESCRIPTION

OANA\XXX\XXX DESCRIPTION

OANA\XXX\MAX

OANA\XXX\MIN

OANA\XXX\NB_DEC Number of decimal (0/1/2)

REGUL\XXX\XXX DESCRIPTION

REGUL\XXX\NB_DEC Number of decimal (0/1/2)

VALVE\XXX DESCRIPTION

VALVE_ANA\XXX DESCRIPTION

Number_View Number of synoptic

alors voila je souhaite par exemple selectionner toutes les lignes comprenant FUNCTION puis les copier sachant que j'aimerai que cela fonctionne dans un cas général. ici cela serait simple car les Function sont à la suite mais si le tableau etait désordonné j'aimerai aussi que cela fonctionne

j'ai codé ceci :

Sub FeuilleFUNCTION()

Dim i As Long

i = 5

Sheets.Add After:=Worksheets(Worksheets.Count) 'ajoute une feuille dans le classeur actif en fin de classeur

ActiveSheet.Name = "FeuilleFunction" 'Nomme la feuille cr�ee Folder GC Originel

Worksheets("Tag GC Originel").Activate 'Rend la feuille Tag GC Originel active

Do While Cells(i, 2) <> "" 'balaye toute la colonne num�ro 2 (ici B) tant qu'il n'y a pas de caract�re nul

i = i + 1

SendKeys "(^)"

If Cells(i, 2).Value Like "*FUNCTION*" Then ' est active si FUNCTION existe dans la colonne B

'MsgBox "Le mot ""FUNCTION"" existe dans la colonne."

Cells(i, 2).Activate

ActiveCell.EntireRow.Select

End If

Loop

End Sub

en esperant avoir une réponse merci à vous

thomas

plusieurs choses me semble etranges dans ton code:

1/dans ta boucle, tu modifie la valeur de i avant qu'elle ne verifie la "ligne en question". tu demarre a 5, tu passe a 6 puis tu verifie, c'est normal?

2/tu cherche a copier les lignes qui correspondent a ta recherche mais j'vois pas de .copy.

3/ il me semble que les comparaison de texte se font avec .Text

du coup:

Dim i,j As Long
i = 5
j=2 'correspond a la ligne de collage resultat
Sheets.Add After:=Worksheets(Worksheets.Count) 'ajoute une feuille dans le classeur actif en fin de classeur
ActiveSheet.Name = "FeuilleFunction" 'Nomme la feuille cr�ee Folder GC Originel
Worksheets("Tag GC Originel").Activate 'Rend la feuille Tag GC Originel active

Do While Cells(i, 2) <> "" 'balaye toute la colonne num�ro 2 (ici B) tant qu'il n'y a pas de caract�re nul

SendKeys "(^)"
If Cells(i, 2).Text Like "*FUNCTION*" Then ' est active si FUNCTION existe dans la colonne B
'MsgBox "Le mot ""FUNCTION"" existe dans la colonne."
Cells(i, 2).Activate
ActiveCell.EntireRow.copy sheets("FeuilleFunction").cells(j,1)
End If
i = i + 1
j=j+1
Loop

j'espere t'avoir aider un peu, j'maitrise pas trop les comparaisons de texte

zarik a écrit :

plusieurs choses me semble etranges dans ton code:

1/dans ta boucle, tu modifie la valeur de i avant qu'elle ne verifie la "ligne en question". tu demarre a 5, tu passe a 6 puis tu verifie, c'est normal?

2/tu cherche a copier les lignes qui correspondent a ta recherche mais j'vois pas de .copy.

3/ il me semble que les comparaison de texte se font avec .Text

du coup:

Dim i,j As Long
i = 5
j=2 'correspond a la ligne de collage resultat
Sheets.Add After:=Worksheets(Worksheets.Count) 'ajoute une feuille dans le classeur actif en fin de classeur
ActiveSheet.Name = "FeuilleFunction" 'Nomme la feuille cr�ee Folder GC Originel
Worksheets("Tag GC Originel").Activate 'Rend la feuille Tag GC Originel active

Do While Cells(i, 2) <> "" 'balaye toute la colonne num�ro 2 (ici B) tant qu'il n'y a pas de caract�re nul

SendKeys "(^)"
If Cells(i, 2).Text Like "*FUNCTION*" Then ' est active si FUNCTION existe dans la colonne B
'MsgBox "Le mot ""FUNCTION"" existe dans la colonne."
Cells(i, 2).Activate
ActiveCell.EntireRow.copy sheets("FeuilleFunction").cells(j,1)
End If
i = i + 1
j=j+1
Loop

j'espere t'avoir aider un peu, j'maitrise pas trop les comparaisons de texte

bonjour

alors pour les points :

1 : oui c'est normal

2 : alors oui voila justement je cherche à copier une fois que ma selection est finie mais lorsque je selectionne une ligne, que je passe ensuite à la suivante, et que je la sélectionne, l'autre ligne précédemment sélectionne se désélectionne du coup ma sélection n'est plus bonne

3 : non cette comparaison fonctionne bien vérifier avec des points d'arret


MERCI VOTRE SOLUTION FONCTIONNE SUPER BIEN C'EST DUPER MERCI !!!

je cherche à copier une fois que ma selection est finie

Enclenche la copie a chaque selection, ca ira mieux

Rechercher des sujets similaires à "selection multiple lignes fonction texte vba"