Programmation VBA Excel

Fermé
Nta - 23 août 2007 à 11:23
 Nta - 23 août 2007 à 12:03
Bonjour,

Je cherche à insérer des données contenues dans la colonne B vers la colonne A et avant une cellule de cette colonne qui commence par "Total". Ma colonne A contient des cellules vides de temps en temps jusqu'à la fin du tableau sanctionnée par une cellule "Total" (juste Total cettte fois ci).
Ci dessous un extrait du tableau en question

ColA Col B
Pôle Libelle UF
EFN EXP. FONCT. NEU
Total EFN
IM MED BRANCARDAGE
RADIOLOGIE
Total IM MED
Total

donc je cherche à parcourir le tableau de telle façon qu'il insère "EXPLOR. FONCT. NEUROLOGIQUES" juste avant "Total EFN" etc... et avant la dernière ligne "Total" insérer une ligne.

J'ai trouvé le code pour insérer des lignes:
If Range("A" & Rw).Value Like "Total*" Then
ActiveSheet.Rows(Rw).Insert
Rw = Rw + 1
Range("A" & Rw).Value = Range("B" & Rw - 1).Value
End If

Seulement je n'arrive pas à parcourir le tableau en entier et du coup faire la mise en forme correctement, cela ne marche pour l'instant que pour le premier bloc.

Est ce que qqun connaitrait la solution à mon pb?

Merci d'avance,

Cordialement,

Nta
A voir également:

2 réponses

C'est assez diffcile de répondre comme cela. Il faut un peu plus d'information.

Comment effectue ta boucle pour parcourir ton tableau ?
0
Si tu n'a pas de boucle essayes :

Sub test()

Nombre_de_Ligne = 100

For Rw = 1 To Nombre_de_Ligne
If Range("A" & Rw).Value Like "Total*" Then
Range("A" & Rw).Select
Selection.EntireRow.Insert
Rw = Rw + 1
End If
Next

End Sub
0
Merci pour ta réponse, cela m'aide bien.
Effectivement, je n'ai pas de boucle, car je n'arrive pas à la faire tourner correctement. En fait, je voudrais insérer des lignes avant chaque case comprenant le mot "Total" plus une ligne avant la case avec juste le mot "Total", la dernière ligne de ce tableau.
Et le but final c'est de copier les cellules contenues en colB, par bloc, et les mettre juste avant la case contenant le lot "Total", d'où l'insertion de la ligne.
Je ne sais pas si je me fais bien comprendre...

En tt cas, merci :)

Nta
0