Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selection multiple de ligne en fonction d'un texte type

1 réponse
Avatar
Grievous88
Bonjour,

alors voila je suis nouveau ici et j'ai un problème sur lequel je penche depuis pas mal d'heure alors je viens faire appel à votre aide.

alors voila :
j'ai une liste de ligne excel comme si - dessous
CMD_OUTXXX DESCRIPTION
DINXXX DESCRIPTION
EQUIPEQ_XXXEQ_XXX DESCRIPTION
EQUIPEQ_XXXHOUR
EQUIPEQ_XXXMINUTE
EQUIPEQ_XXXSECOND
FUNCTIONFCT_XXX_YYYFCT_XXX_YYY DESCRIPTION
FUNCTIONFCT_XXX_YYYICIC_01 RESERVE
FUNCTIONFCT_XXX_YYYICIC_02 RESERVE
FUNCTIONFCT_XXX_YYYICIC_03 RESERVE
FUNCTIONFCT_XXX_YYYICIC_04 RESERVE
FUNCTIONFCT_XXX_YYYICIC_05 RESERVE
FUNCTIONFCT_XXX_YYYICIC_06 RESERVE
FUNCTIONFCT_XXX_YYYICIC_07 RESERVE
FUNCTIONFCT_XXX_YYYICIC_08 RESERVE
FUNCTIONFCT_XXX_YYYICIC_09 RESERVE
FUNCTIONFCT_XXX_YYYICIC_10 RESERVE
FUNCTIONFCT_XXX_YYYICIC_11 RESERVE
FUNCTIONFCT_XXX_YYYICIC_12 RESERVE
FUNCTIONFCT_XXX_YYYICIC_13 RESERVE
FUNCTIONFCT_XXX_YYYICIC_14 RESERVE
FUNCTIONFCT_XXX_YYYICIC_15 RESERVE
FUNCTIONFCT_XXX_YYYICIC_16 RESERVE
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_01 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_02 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_03 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_04 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_05 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_06 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_07 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_08 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_09 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_10 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_11 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_12 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_13 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_14 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_15 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_16 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_17 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_18 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_19 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASDEC_MEAS_20 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYMEASMEAS_01 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_02 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_03 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_04 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_05 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_06 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_07 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_08 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_09 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_10 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_11 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_12 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_13 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_14 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_15 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_16 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_17 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_18 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_19 RESERVE
FUNCTIONFCT_XXX_YYYMEASMEAS_20 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_01 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_02 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_03 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_04 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_05 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_06 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_07 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_08 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_09 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_10 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_11 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_12 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_13 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_14 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_15 RESERVE
FUNCTIONFCT_XXX_YYYOPTOPT_16 RESERVE
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_01 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_02 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_03 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_04 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_05 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_06 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_07 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_08 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_09 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_10 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_11 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_12 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_13 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_14 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_15 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_16 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_17 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_18 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_19 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMDEC_PARAM_20 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYPARAMPARAM_01 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_02 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_03 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_04 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_05 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_06 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_07 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_08 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_09 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_10 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_11 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_12 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_13 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_14 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_15 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_16 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_17 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_18 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_19 RESERVE
FUNCTIONFCT_XXX_YYYPARAMPARAM_20 RESERVE
FUNCTIONFCT_XXX_YYYSPDEC_SP_01 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_02 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_03 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_04 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_05 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_06 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_07 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_08 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_09 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_10 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_11 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_12 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_13 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_14 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_15 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_16 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_17 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_18 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_19 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPDEC_SP_20 Number of decimal (0/1/2)
FUNCTIONFCT_XXX_YYYSPSP_01 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_02 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_03 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_04 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_05 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_06 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_07 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_08 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_09 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_10 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_11 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_12 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_13 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_14 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_15 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_16 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_17 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_18 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_19 RESERVE
FUNCTIONFCT_XXX_YYYSPSP_20 RESERVE
IANAXXXXXX DESCRIPTION
IANAXXXMAX
IANAXXXMIN
IANAXXXNB_DEC Number of decimal (0/1/2)
MOTORXXX DESCRIPTION
OANAXXXXXX DESCRIPTION
OANAXXXMAX
OANAXXXMIN
OANAXXXNB_DEC Number of decimal (0/1/2)
REGULXXXXXX DESCRIPTION
REGULXXXNB_DEC Number of decimal (0/1/2)
VALVEXXX DESCRIPTION
VALVE_ANAXXX DESCRIPTION
Number_View Number of synoptic

j'aimerai par exemple que a chaque fois que j'ai FUNCTION, ma maccro selectionne la ligne puis passe a la suivante pour ensuite le selectionne tous en gardant l'ancienne selectionnée aussi

j'ai programmer 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 que vous pouriez ma'aider merci bien

1 réponse

Avatar
MichD
Bonjour,

A ) Dans une feuille de calcul, lorsque l'on exécute une
macro, on peut sélectionner seulement une cellule ou
une plage de cellules à la fois. Dès que l'on tente
de sélectionner une cellule ou une plage subséquente,
la plage initiale se désélectionne.

B ) Il existe une manière de procéder... mais si ta plage de cellules
est grande, cette méthode deviendra lourde et de plus en plus lente.

C ) Je ne sais pas ce que tu tentes de faire, mais si tu veux copier
toutes les lignes dont l'expression apparaît "FUNCTION" apparaît en
colonne B de la feuille, pourquoi ne pas appliquer un filtre automatique
sur cette colonne et copier le résultat du filtre vers l'endroit que tu
désires dans ta nouvelle feuille.


Voici un exemple sur ce qu’il est possible de faire...

J'ai déclaré une variable "Rg" de type "Range". Au fur et à mesure que
le contenu des cellules répond au critère "FUNCTION", la variable Rg
emmagasine chacune de ces cellules. Lorsque la boucle est terminée, tu
peux sélectionner l'objet "Rg" et toutes les lignes retenues seront
sélectionnées.

'---------------------------------------------
Sub FeuilleFUNCTION()
Dim Rg As Range
Dim i As Long
i = 5

Sheets.Add After:=Worksheets(Worksheets.Count)
'Nomme la feuille créee Folder GC Originel
ActiveSheet.Name = "FeuilleFunction"


With Worksheets("Tag GC Originel")
.Select
Do While .Cells(i, 2) <> ""
i = i + 1
If .Cells(i, 2).Value Like "*FUNCTION*" Then
If Rg Is Nothing Then
Set Rg = .Cells(i, 2)
Else
Set Rg = Union(.Cells(i, 2), Rg)
End If
End If
Loop
Rg.EntireRow.Select
End With
End Sub
'---------------------------------------------

MichD