macro de mise en forme

  • Initiateur de la discussion Initiateur de la discussion ninajams
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

ninajams

Guest
Bonjour,

Je souhaite faire une macro de mises en forme d'un fichier excel mais je bloque.😡
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

Dernière modification par un modérateur:
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
 
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:
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

à+
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
315
Retour