Insertion de ligne jusqu'a ladresse souhaitée

Bonjour

J' ai besoin d'un code VBA a integrer a une macro déjà existante.

Dans une feuille Excel de plusieurs milliers de lignes et centaines de colonnes je souhaite retrouver la cellule contenant "Ra", relever son numéro de ligne puis inserer autant de lignes que nécessaire pour que la ligne contenant "Ra" se retrouve en ligne n° 170.

Ensuite faire la meme chose avec la cellule contenant "Rb" qui devra se retrouver en ligne 220

puis avec "Rc" en ligne 265

puis avec "Rd" en ligne 295.

Précision : dans certaines feuilles il peut ne pas y avoir "Ra" ou "Rb" ou "Rb" ou "Rc".

En fait toute combinaison est possible

Merci de m'aider

Bonjour,

Sans fichier exemple, c'est pas évident....

Quand tu dis qu'il peut y avoir, (ou pas), les valeurs "Ra", "Rb".... dans ton onglet, est-ce que ces valeurs sont situées sur différentes lignes, et est-ce que l'ordre d'apparition respecte ta demande, à savoir, "Ra" sera toujours dans une ligne supérieure à "Rb", et ainsi de suite?

Et est-ce qu'il faut insérer des lignes entières, ou seulement des cellules dans la colonne qui contient ces valeurs?

Bref, pas du tout assez clair....

De plus, tu précises que cette macro sera intégrée à une autre, mais sans savoir si la nouvelle macro va affecter la macro déjà existante, c'est encore moins simple....

@ te relire, avec bien plus de précisions...

Bon courage

Bonjour cousinhub

Je ne peux pas joindre de fichier exemple (il s'agit d'un fichier professionnel de plus de 200Mo)

Mais je peux repondre a tes questions

Ra, Rb, Rc, Rd se trouvent toujours dans la même colonne a savoir la 4

Elles sont toujours rangées dans cet ordre a savoir Ra en premier, Rb en deuxieme et ainsi de suite

Par contre il peut arriver qu'il n'y ait pas Rb (ou Ra ou Rc et Rd par exemple)

Quand a l'integration dans la macro déjà existante, je ne me suis montré suffisamment précis car cette nouvelle macro sera intégrée a la suite de l'ancienne ce qui posera pas de problèmes

PS: je debute en VBA et ais un mal de chien a m'y retrouver mais j'essaye de m'accrocher


oups j'ai oublié

précisions supplémentaires : Les cellules contenant Ra, Rb,... sont séparées de plusieurs lignes contenant des valeurs numériques.

Et li s'agit bien d'insérer des lignes entieres.

Merci de bien vouloir m'aider

Re-,

Avec les explications que tu m'as fournies, tu peux essayer ce code :

Sub ee()
Dim C As Range
Dim Cherch, NumLig
Dim I As Byte
Cherch = Array("Ra", "Rb", "Rc", "Rd")
NumLig = Array(170, 220, 265, 295)
For I = 0 To 3
    Set C = Columns(4).Find(Cherch(I), , , xlWhole)
    If Not C Is Nothing Then
        If C.Row < NumLig(I) Then
            Rows(C.Row).Resize(NumLig(I) - C.Row).EntireRow.Insert
        End If
    End If
Next I
End Sub

Bon courage

Wahouuuu Super génial

Fonctionne a la perfection

Aucune modif a apporter

Tu es super efficace

Merci beaucoup

Rechercher des sujets similaires à "insertion ligne ladresse souhaitee"