macro de mise en forme

ninajams

XLDnaute Junior
Bonjour,

Je souhaite faire une macro de mises en forme d'un fichier excel mais je bloque.:mad:
Je mets en pièce jointe un exemple.

Ca me fait un peu l'effet cellule fusionner.
Au lieu d'avoir toutes les lignes avec les références j'ai la première et les autres sont blanches.
Si je veux supprimer la ligne 2 qui a été livré. Je perd la référence.

Donc je souhaite copier la première cellule sur toute les autres cellules vide jusqu'a la prochaine cellule NON vide.
Prendre la 2eme cellule Non vide et la recopier sur les cellules vide etc..

Cordialement
 

Pièces jointes

  • essaie macro mise en forme.xls
    29 KB · Affichages: 92
Dernière édition:

ninajams

XLDnaute Junior
Re : macro de mise en forme

Bien sur,

Il n'y a pas de macro parce que j'ai jamais fais ce type de macro.
Je veux juste que la macro copie 220 jusqu'à la 221 et 221 jusqu'à la fin du tableau.

Bien sur ces données ne sont qu'un exemple.
C'est pourquoi je ne peux pas utiliser l'enregistreur de macro.

Merci de ton aide
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : macro de mise en forme

re,

avec ceci
Code:
Sub Macro1()
For i = 2 To Range("A65535").End(xlUp).Row
If Range("A" & i + 1).Value = "" Then
    Range("A" & i).Select
    Selection.Copy
    Range("A&i+1").Select
    ActiveSheet.Paste
End If
Next i
End Sub
mais il est nécessaire d'avoir quelque chose dans une cellule à la fin de la liste sinon tu auras des problèmes
à+

EDIT: Jean Marcel, il s'agit non pas de mettre les cellules en rouge mais plutôt de combler les "trous " par le nombre qui est directement au dessus
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : macro de mise en forme

Re,
petite rectification
Code:
Sub Macro1()
For i = 2 To Range("A65535").End(xlUp).Row
If Range("A" & i + 1).Value = "" Then
    Range("A" & i).Select
    Selection.Copy
   [COLOR="Blue"] Range("A"& i +1).Select[/COLOR]
    ActiveSheet.Paste
End If
Next i
End Sub

@ Jean Marcel
mea culpa, pour la couleur des caractères

à+
 

pierrejean

XLDnaute Barbatruc
Re : macro de mise en forme

Re

Macro commentée

Code:
Sub recopie()
'balayage de la ligne 3 a la derniere ligne non vide de la colonne B
For n = 3 To Range("B65536").End(xlUp).Row
'Si la colonne A est vide et la colonne B non vide alors
If Range("A" & n) = "" And Range("B" & n) <> "" Then
'mettre en colonne A ce qui est sur la ligne precedente
  Range("A" & n) = Range("A" & n - 1)
End If
'passer a la ligne suivante
Next n
End Sub
 

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 565
dernier inscrit
Fabien78