Comment remplacer automatiquement le contenu de plusieurs cellules
Bonjour,
Je suis totalement novice sur Excel et je rencontre le problème suivant, je vais essayer d'être le plus clair possible :
Je voudrais remplacer de façon automatiser le contenu de plusieurs cellules par d'autres.
Dans une colonne j'ai :
- un contenu de cellule qui commence toujours par # accompagné de chiffres ( ex: #125478 )
toujours 3- 4 cellules contenant un numéro sans dièse.
ce qui donne a peu près pour l'exemple :
#125478
254788
245987
254781
#165897
214578
879654
125478
#125479
214565
897874
874122
125478
#125874
Le fichier étant volumineux, cela va être vraiment long de le traiter manuellement...
Ce que je cherche à obtenir:
-remplacer automatiquement le contenu de la cellule contenant un # par le contenu de la cellule suivante.
ex:
#125478
254788
245987
254781
#165897
214578
879654
125478
#125479
deviendrait :
254788
245987
254781
214578
879654
125478
je sais pas si j'ai été clair et vous remercie d'avance .
Bonjour Bruno, bonjour le forum,
Essaie comme ça (code à placer dans un module standard) :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim COL As Integer 'déclare la variable COL (COLonne)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim I As Long 'déclare la variable I (Incrément)
Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
COL = 1 'définit la colonne COL (à adapter a ton cas)
DL = O.Cells(Application.Rows.Count, COL).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne COL de l'onglet O
For I = 1 To DL 'boucle sur toutes les lignes I de 1 à DL
If Left(O.Cells(I, COL), 1) = "#" Then 'condition : si la cellule ligne I colonne COL commence par "#"
O.Cells(I, COL).Value = O.Cells(I + 1, COL).Value 'récupère la valeur de la cellule une ligne en dessous
O.Cells(I + 1, COL).Value = "" 'efface la valeur de la cellule une ligne en dessous
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub