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

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

  • TEST.xlsx
    8.9 KB · Affichages: 10

brossadan

XLDnaute Nouveau
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.
 

cp4

XLDnaute Barbatruc
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

  • Complétion automatique d'une colonne.xlsm
    15.6 KB · Affichages: 0
Dernière édition:

klin89

XLDnaute Accro
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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • Semafor67- Complétion auto- v1.xlsm
    17 KB · Affichages: 2

Staple1600

XLDnaute Barbatruc
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
 

brossadan

XLDnaute Nouveau
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
 

Semafor67

XLDnaute Nouveau
Juste génial, un grand merci !
 

Discussions similaires

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