remplissage automatique

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

E

Eizabeth Olivares

Guest
Bonjour,

Je cherche le moyen de remplir de façon automatique un tableau où dans une colonne il y aurait des cellules vides, avec le contenu de la même ligne mais de la colonne adjacente, par exemp:
colonne A: Colonne B
Marie
Peter
Pierre
Juan
Paul
Karin

après remplissage automatique:
Colonne A
Marie
Peter
Pierre
Juan
Paul

Merci,
Elizabeth
 
Bonjour Elizabeth, bonjour le forum,

Je n'ai rien compris !... Si tu souhaites de l'aide rapidement, un petit fichier exemple avec ce que tu as avant et ce que tu voudrais après, serait le bienvenu... Toi aussi d'ailleurs, tu es la bienvenue ici.
 
Bonjour,
Merci, voici un exemple de mon fichier: je souhaite donc qu'à chaque fois qu'une cellule est vide dans la colonne A, elle soit remplie par le contenu de la cellule de la colonne adjacente (B)
merci,
Elizabeth
 

Pièces jointes

Re,

Essaie comme ça :

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim PL As Range 'déclare la variable PL (PLage)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
Set PL = O.Range("A1").CurrentRegion 'définit la plage PL
For I = 2 To PL.Rows.Count 'boucle sur toutes les lignes I de la plage PL (en partant de la seconde)
  If O.Cells(I, 1).Value = "" Then O.Cells(I, 2).Copy O.Cells(I, 1) 'ou O.Cells(I, 1).Value = O.Cells(I, 2).Value
Next I 'prochaine ligne de la boucle
End Sub
 
Bonjour Elizabeth Olivares, Robert,

Si l'on veut copier uniquement les valeurs cette macro est très rapide :
Code:
Sub Remplir()
If ActiveSheet.FilterMode Then activesheer.ShowAllData 'si la feuille est filtrée
On Error Resume Next 'si aucune SpecialCell
With ActiveSheet.UsedRange.Columns(1)
    .SpecialCells(xlCellTypeBlanks) = "=RC[1]"
    .Value = .Value 'supprime les formules
End With
End Sub
Pour tester j'ai copié le tableau du fichier du post #3 sur 2800 lignes.

Chez moi ma macro s'exécute en 0,16 seconde, celle de Robert en 14 secondes.

A+
 
Re,

Une solution bien meilleure qui n'utilise pas la colonne C :

- menu FICHIER => Options => Formules => cocher "Style de référence L1C1"

- sélectionner la colonne A => Touche F5 => Cellules => Cellules vides

- entrer dans la barre de formule =LC(1) et valider par Ctrl+Entrée.

- Copier => Collage spécial-Valeur de la colonne A sur elle-même

- menu FICHIER => Options => Formules => décocher "Style de référence L1C1"

A+
 
Re,

Une solution bien meilleure qui n'utilise pas la colonne C :

- menu FICHIER => Options => Formules => cocher "Style de référence L1C1"

- sélectionner la colonne A => Touche F5 => Cellules => Cellules vides

- entrer dans la barre de formule =LC(1) et valider par Ctrl+Entrée.

- Copier => Collage spécial-Valeur de la colonne A sur elle-même

- menu FICHIER => Options => Formules => décocher "Style de référence L1C1"

A+

Un grand merci, je peux continuer avec mon fichier
Elizabeth
 
- 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
196
Réponses
10
Affichages
364
Retour