Programmation VBA Excel
Nta
-
Nta -
Nta -
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
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:
- Programmation VBA Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
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 ?
Comment effectue ta boucle pour parcourir ton tableau ?
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
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
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
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