VBA : RECOPIE AUTOMATIQUE et SUPPRESSION LIGNES COMPORTANT UN MOT PRECIS

Titou99

XLDnaute Junior
Bonjour à tous,

Quelque soucis aujourd'hui je recherche une solution depuis 8h ce matin pour d'une part :

- Supprimer automatiquement, avec un code VBA, des lignes de plusieurs colonnes (C,D,E et F) comportant le mot "Résultat".

D'autre part :

- Recopier des cellules vers le bas automatiquement des colonnes C,D et E qui comporte des cellules vides

Je m'explique : Nous sommes par exemple dans la colonne C je voudrais que si cellule vide alors remonter à la première cellule pleine qui voit et recopier son contenu vers le bas jusqu'à la première cellule qui voit pleine

Je vous joint un exemple pour la recopie
 

Pièces jointes

  • exemple.xlsx
    12.1 KB · Affichages: 8

Robert

XLDnaute Barbatruc
Re,

Oui tu me sembles fatigué car tu ne vois plus l'essentiel. L'onglet c'est Feuil1 dans ce fichier et pas Feuil9, Il te faut penser à adapter si tu mets ce code dans un autre fichier.
Le code adapté au 3 colonnes C, D et E :

VB:
Sub Recopie()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)

Set O = Worksheets("Feuil1") 'défint l'onglet O '<==== ici il faut adapter au nom de l'onglet
DL = O.Cells(Application.Rows.Count, "C").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
For I = 6 To DL - 1 'boucle 1 : sur toutes les lignes I de 6 à DL -1
    For J = 3 To 5 'boucle 2 : sur le colonnes 3 à 5 (=> colonne C à E)
        'si la cellule en-dessous est vide elle prend la valeur de la cellule de la boucle
        If O.Cells(I + 1, J).Value = "" Then O.Cells(I + 1, J).Value = O.Cells(I, J).Value
    Next J 'prochaine colonne de la boucle 2
Next I 'prochaine ligne de la boucle 1
End Sub
 

Discussions similaires

Haut Bas