Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Complétion automatique d'une colonne

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

Semafor67

XLDnaute Nouveau
Hello,

J'espère que vous allez bien.

J'ai besoin de votre aide svp pour une tâche que je ne sais automatiser (voir exemple joint).

Comment puis-je compléter automatiquement la colonne "Nom" ? Dans mon exemple cela ne pose pas de problème mais le fichier que je dois traiter comporter des milliers d'entrées.

Un tout grand merci par avance.

Bien cordialement,

Marc
 

Pièces jointes

Bonjour,

nul doute que des experts auront d'autres solutions en VBA, mais sans y comprendre fifre, en passant par Power Query c'est assez simple à réaliser. (et si tu ne connais pas Query ce sera l'occasion de découvrir ce formidable outil).

1ere étape : Convertir ta plage en tableau

Tu sélectionnes de A1 à B10 puis la fonction "Mettre sous forme de tableau"


Tu choisis n'importe quel style et tu valides en cochant bien mon tableau comporte des en-têtes


2éme étape : Importer ce tableau dans power Query

Tu cliques sur une cellule du tableau pour le selectionner puis menu "Données" , A partir de Tableau ou d'une Plage :


La fenetre Power Query s'ouvre :


3ieme Etape : Remplir les vides

Tu cliques sur la colonne Nom puis dans le menu "transformer" Remplir vers le bas


Tu obtiens le résultat suivant :


Enfin tu peux éventuellement renommer la requête dans le champ Propriétés/Nom complétement à droite

Puis dans le menu Accueil, fermer et charger

Un nouvel onglet sera créé avec ton tableau rempli.
 
Bonsoir @Semafor67 ,@brossadan ,

Un essai en VBA.
VB:
Option Explicit

Sub Completion()
   Dim rg As Range, i As Long

   With ThisWorkbook.Sheets("feuil1")
      Set rg = .Range("A1").CurrentRegion
      For i = 2 To rg.Rows.Count
         If .Cells(i, 1) = "" And .Cells(i, 2) <> "" Then .Cells(i, 1) = .Cells(i - 1, 1)
      Next i
   End With
End Sub
ou en utilisant un tableau plus adapter pour beaucoup de ligne (+rapide)
Code:
Sub Completion_Tb()
   Dim Tb, i As Long

   With ThisWorkbook.Sheets("feuil1")
      Tb = .Range("A1").CurrentRegion.Value
      For i = 2 To UBound(Tb)
         If Tb(i, 1) = "" And Tb(i, 2) <> "" Then Tb(i, 1) = Tb(i - 1, 1)
      Next i
   .Range("A14").Resize(UBound(Tb), UBound(Tb, 2)) = Tb 'cellule à adapter
End With
End Sub
 

Pièces jointes

Dernière édition:
Bonsoir à tous, 🙂

Ou ceci :
VB:
Sub remplir()
   With Sheets("Feuil1").Range("A2:A" & Cells(Rows.Count, 2).End(xlUp).Row)
        On Error Resume Next
        .SpecialCells(4).FormulaR1C1 = "=r[-1]c"
        On Error GoTo 0
        .Value = .Value
    End With
End Sub
klin89
 
Bonsoir à tous 🙂 ,

Un autre code VBA placé dans le module associé à la feuille concernée "Feuil1".
Pour exécuter le code , double-cliquez sur la cellule A1.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim t, i&
  If Target.Address(0, 0) <> "A1" Then Exit Sub Else Cancel = True
  t = Intersect(Columns("a:b"), [a1].CurrentRegion)
  For i = 2 To UBound(t): t(i, 1) = IIf(t(i, 1) = "", t(i - 1, 1), t(i, 1)): Next
  [a1].Resize(UBound(t), 2) = t
End Sub
 

Pièces jointes

Bonjour le fil

Je plussoie à la proposition de @brossadan
Il a fourni les photos 😉
Je fournis le code M
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Nom", type text}, {"Produit", type text}}),
    #"Rempli vers le bas" = Table.FillDown(#"Type modifié",{"Nom"})
in
    #"Rempli vers le bas"

@brossadan
C'est quoi ces points de couleur avec Valide Erreur Vide ?
Je n'ai pas cela dans mon PQ
 
Bonsoir,
@Staple1600 ce sont des options d'affichage, plutôt pratiques pour repérer les erreurs ou les colonnes vides



Distribution des colonnes donnera un histogramme :


quand à profil de colonne affichera le détail en bas d'écran avec le nombre de valeurs, le nombre d'erreur, de vide, de valeurs distinctes, d'uniques, le min et max :



C'est parfois très pratique.

Bonne soirée
 
Juste génial, un grand merci !
 
- 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

Réponses
21
Affichages
223
Réponses
3
Affichages
390
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…