Copier une ligne si une chaine de caractère est trouvée

Bonjour au Forum,

Je cherche en vain à effectuer une recopie de toute une ligne d'une feuille vers une autre feuille si des chaines de caractère bien spécifiques sont trouvées.

Je m'explique:

  • j'ai une liste de chaine de caractère (Liste_role = "-SD1-;"_AM"; "SDM"; "SDE"; "APB-"; etc....)
  • je dois chercher dans la feuille People colonne F sur toutes les lignes si une des chaines est présente
  • dès qu'une chaine est trouvée alors je copie la ligne correspondante depuis Feuil1 Dx à ABx (x = ligne sur laquelle la chaine est présente) vers People Gy à AEy (y étant la ligne sur laquelle la chaine est trouvée)
  • dès que People F est vide on arrête;

J'ai joint un fichier exemple, en espérant que quelqu'un puisse m'aider.

Merci

Cdt

arj

24test-group.xlsx (33.37 Ko)

bonjour et bienvenu

voici une proposition

Sub copie()
Dim i, j As Integer
Dim wss, wsd As Worksheet
Set wss = Sheets("feuil1")
Set wsd = Sheets("People")
For i = 3 To wss.[c65536].End(xlUp).Row
    For j = 4 To wsd.[F65536].End(xlUp).Row
        If wsd.Range("F" & j) Like "*" & wss.Range("C" & i) & "*" Then wsd.Range("G" & j & ":AE" & j) = wss.Range("D" & i & ":AB" & i).Value
    Next j
Next i
End Sub

fred

40test-group.xlsm (40.01 Ko)

Bonjour Fred,

Un grand merci à toi pour ton aide sur mon projet.

J'ai fais une version 2 ci-joint, j'ai trouvé comment lier ta fonction à un bouton de commande

Je n'y connais rien en macro j'étais parti à la base sur l'utilisation de fonction.

Pourrais-tu juste me vérifier si je n'ai pas fait de fausse manip et m'expliquer les 2 boucles "for" surtout le "xlUP.row" je pense avoir bien compris le "if" qui attribue la matrice des chaines de caractere recherchées.

En te remerciant pour ton aide précieuse.

Merci

Cdt

arj

53test-group-2.xlsm (43.66 Ko)

salut

l'instruction

[F65536].End(xlUp).Row

permet de connaitre le numero de la derniere ligne occupée sur la colonne F

[c65536].End(xlUp).Row 

et ici sur la colonne C mais pas de la meme feuille ....

dans le principe

sur la feuille Feuil1 on va passer en revu tous tes roles (colonne C) ça c'est la première boucle

donc on va voir dans l'ordre

  • SD1-
  • IS2-
_AM

_SDE

_SDM

APB-

et ensuite on va vérifier l'existence de -SD1 sur toutes les lignes de la feuille people

en résumer

1e boucle

on regarde si -SD1- existe sur toutes les lignes de la feuille people colonne F si trouver on copie les données (2e boucle for au complet)

2e boucle

on regarde si -IS2- existe sur toutes les lignes de la feuille people colonne F si trouver on copie les données (2e boucle for au complet)

fred

Ok super merci je me suis bien réapproprié le code maintenant et effectivement je n'avais pas compris le F et C...

Merci

arj

n'oublie pas

merci

Fred

J'avais chercher cette information et ne l'avait pas trouvée dans le guide du forum ni la FAQ...

Voila je n'avais pas compris l'histoire de la coche verte qui se retrouve aussi dans les smileys en mode édition ??

Bref sujet clos merci

arj

Rechercher des sujets similaires à "copier ligne chaine caractere trouvee"