Copier contenu cellule vers bas sous conditions

  • Initiateur de la discussion Initiateur de la discussion dgedge
  • 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 !

dgedge

XLDnaute Nouveau
Bonjour,

Je reprends VBA après de longues années et je repars plus ou moins de 0.

J'aimerais copier le contenu d'une cellule située en colonne A (référence relative) vers le bas dans les cellules vides uniquement si et seulement si le contenu des cellules situées sur les mêmes lignes en colonne B sont non vides. Et je voudrais que cela se répète pour toute la colonne (longueur variable).

Pour plus de clarté, j'ai joint un fichier : je veux copier le contenu de A1 en A2, A3,A4 et A5, puis celui de A6 en A7, A8, A9 et A10, puis celui de A11 en A12, etc.

J'ai écris la macro suivante qui fait bien la copie de la cellule du dessus, mais ne le fait que pour une ligne et s'arrête 😕 :

Sub CopyDownCellContent()
'
Dim Cell As Range
For Each Cell In Selection.Cells
If Cell.Value <> "" Then
ActiveCell.Offset(0, -1).Range("a1").Select
Selection.FillDown
End If
Next Cell
End Sub

Merci pour vos conseils !
PS: j'utilise Excel 2003 en anglais...
 

Pièces jointes

Re : Copier contenu cellule vers bas sous conditions

Je pense que la macro doit y être maintenant, sauf qu'elle ne semble plus fonctionner... Je crois que je suis trop fatigué ce soir pour comprendre pourquoi 🙁
 

Pièces jointes

Re : Copier contenu cellule vers bas sous conditions

Re,

ou alors avec ceci:
Code:
Sub Macro1()
Dim Cell As Range
Range("A1:A" & Range("B65535").End(xlUp).Row).Select
For Each Cell In Selection.Cells
If Cell.Value = "" Then
Cell.Value = Cell.Offset(-1, 0).Value
End If
Next Cell
End Sub

à+
Philippe
 
Re : Copier contenu cellule vers bas sous conditions

Bonjour dgedge et bienvenue sur le forum

ton fichier en retour

à+
Philippe

Merci beaucoup pour ton retour ultra rapide.
Il faut que je m'ahabitue au forum, mais en fait j'avais fait un extract de mon fichier sur un autre car le moien est confidentiel. J'ai joint un autre fichier avec les mêmes colonnes parce que je ne sais pas retranscrire ta macro sur mon vrai fichier... 😀
 

Pièces jointes

Re : Copier contenu cellule vers bas sous conditions

Re,

ou alors avec ceci:
Code:
Sub Macro1()
Dim Cell As Range
Range("A1:A" & Range("B65535").End(xlUp).Row).Select
For Each Cell In Selection.Cells
If Cell.Value = "" Then
Cell.Value = Cell.Offset(-1, 0).Value
End If
Next Cell
End Sub

à+
Philippe

Du coup j'ai changé les références de cellules pour aller sur mon fichier et ça marche à merveille !!

Merci beaucoup !
 
Re : Copier contenu cellule vers bas sous conditions

Question subsidiaire : que faudrait-il que j'ajoute à la macro de phlaurent55 pour faire la même chose que sur la colonne "Date" en D de mon dernier fichier (j'ai changé dans la macro proposée par phlaurent55 A par D et B par E pour coller avec mon dernier fichier) pour les colonnes C (Month), B (Name) et A (Office) ?

L'idée serait de pouvoir exécuter cette macro pour ces 4 colonnes (D, C, B et A) successivement de façon à ne plus avoir de cellule vide.
 
- 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

Discussions similaires

Retour