IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Remplissage de cellules vides avec un nom correspondant à un numéro [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Par défaut Remplissage de cellules vides avec un nom correspondant à un numéro
    Bonjour,
    Voici mon problème : je travaille sur une liste immense et pour simplifier on va dire que j'ai une première colonne remplie de numéros et une deuxième où j'ai des noms associés mais parfois j'ai des cellules vides. Exemple:
    1010
    1010
    1010 PH
    1010 PH
    1015
    1020
    1020 PH
    1027 AD
    ...
    Chaque nom peut correspondre à plusieurs numéros.
    Chaque numéro a un seul nom associé.
    Mon problème c'est que je veux compléter les cases vides par le nom correspondant au numéro afin de pouvoir faire un tri par nom par exemple et avoir les références complètes de mes lignes.
    A savoir qu'avec toutes les autres colonnes dans mon fichier de base (omises pour l'exemple) j'ai une ligne unique donc je ne peux pas supprimer de lignes.

    Voilà j'espère que vous pourrez m'aider. J'ai essayé en utilisant des boucles de recherche et comparaison avec compteur mais ça ne donne rien. Je l'ai certainement mal fait aussi, je suis novice. Et il y a peut-être une astuce simple que je ne vois pas.
    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    A tester sur une copie du classeur. Il est important qu'au moins une fois dans la plage chaque numéro est un nom qui lui soit attribué sinon, ce numéro restera sans nom lié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Sub Associer()
     
        Dim Plage As Range
        Dim Cel As Range
        Dim Dico As Object
     
        'plage en colonne "A" de feuille "Feuil1"
        With Worksheets("Feuil1")
     
            Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        'crée l'objet
        Set Dico = CreateObject("Scripting.Dictionary")
     
        'parcours la plage et récupère la valeur de la cellule si ce n'est déjà fait
        'à condition que la cellule voisine (colonne B) ne soit pas vide
        'note, il est évident que chaque numéro de la colonne "A" doit avoir un nom associé
        'au moins une fois dans la plage
        For Each Cel In Plage
     
            If Dico.exists(Cel.Value) = False And Cel.Offset(, 1).Value <> "" Then
     
                Dico.Add Cel.Value, Cel.Offset(, 1).Value
     
            End If
     
        Next Cel
     
        'reboucle sur la plage pour affecter le nom au numéro
        For Each Cel In Plage
     
            Cel.Offset(, 1).Value = Dico(Cel.Value)
     
        Next Cel
     
    End Sub
    Hervé.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Par défaut
    Ca marche nickel !!! Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/12/2009, 16h20
  2. Colorisation d'une cellule vide avec MsgBox
    Par olivepao dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 30/05/2008, 15h11
  3. fusion de cellules vides avec cellule précédente pleine
    Par camzo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/10/2007, 16h28
  4. cellule vide avec collage avec liaison
    Par stephlinternaute dans le forum Excel
    Réponses: 2
    Dernier message: 14/08/2007, 14h53
  5. [JTable] Créer une JTable vide avec des noms de colonnes.
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 27/09/2005, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo