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 :

Automatiser la suite d'un nom


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    août 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : août 2019
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Automatiser la suite d'un nom
    Bonjour,

    Voici mon problème, dans mes feuilles de calcul, j'ai des macros qui s'actionnent lorsqu'il il a un texte précis dans une cellule. Ces textes sont des noms de personne, prénom et nom de famille. J'aimerais que si j'écris "An", Excel complète la cellule en inscrivant Andrée-Anne Lajoie. J'ai essayé de faire des listes déroulantes, mais ces dernières ne semblent pas prendre la saisie en compte. Auriez-vous une solution?

    Merci pour votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Employé administratif
    Inscrit en
    mars 2018
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : mars 2018
    Messages : 57
    Points : 89
    Points
    89

  3. #3
    Membre à l'essai
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    août 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : août 2019
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Merci Guy7700,

    Par contre j'ai beau essayer, quand j'essaie de convertir le script à mon document, je reçois toujours une erreur de compilation: Type défini par l'utilisateur non défini. Pourtant, quand j'essaie le fichier de boisgontierjacques je n'ai pas le message d'erreur. Les seul modification que j’ai apporté est la plage A2:A16 pour C4:H46 et la sheets et le range de la liste source. Sauriez-vous pourquoi je reçois ce message d’erreur?

    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
    Dim a()
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect([C4:H46], Target) Is Nothing And Target.Count = 1 Then
        a = Sheets("Chauffeurs").Range("chauffeurs").Value
        Me.ComboBox1.List = a
        Me.ComboBox1.Height = Target.Height + 3
        Me.ComboBox1.Width = Target.Width
        Me.ComboBox1.Top = Target.Top
        Me.ComboBox1.Left = Target.Left
        Me.ComboBox1 = Target
        Me.ComboBox1.Visible = True
        Me.ComboBox1.Activate
        If Target <> "" And Val(Application.Version) > 10 Then SendKeys "{esc}"
        'Me.ComboBox1.DropDown    ' ouverture automatique au clic dans la cellule (optionel)
      Else
        Me.ComboBox1.Visible = False
      End If
    End Sub
    Private Sub ComboBox1_Change()
     If Me.ComboBox1 <> "" Then
       Set d1 = CreateObject("Scripting.Dictionary")
       tmp = UCase(Me.ComboBox1) & "*"
       For Each c In a
         If UCase(c) Like tmp Then d1(c) = ""
       Next c
       Me.ComboBox1.List = d1.keys
       Me.ComboBox1.DropDown
     End If
       ActiveCell.Value = Me.ComboBox1
    End Sub
    Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
      Me.ComboBox1.List = a
      Me.ComboBox1.Activate
      Me.ComboBox1.DropDown
    End Sub
     
    Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
      If KeyCode = 13 Then ActiveCell.Offset(1).Select
    End Sub
    Nom : erreurdecompilation.jpg
Affichages : 37
Taille : 99,6 Ko

  4. #4
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 553
    Points : 40 108
    Points
    40 108
    Billets dans le blog
    58
    Par défaut
    Salut.

    Il te manque la référence Microsoft Forms 2.0 Object Library. Pour l'activer, tu peux
    • soit, dans le VBE, aller dans Outils/Références, puis la cocher;
    • soit ajouter un userform à ton classeur (puis éventuellement le supprimer), cela activera cette référence.



    Tu peux aussi utiliser simplement un Boolean.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre à l'essai
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    août 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : août 2019
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Merci M.Fauconnier,
    Par contre je ne suis pas capable de rajouter cette référence. Elle n'est pas listée.
    Nom : ref1.jpg
Affichages : 28
Taille : 61,1 KoNom : ref2.jpg
Affichages : 28
Taille : 69,3 Ko
    Il y a t'il un moyen de le rajouté?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    août 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : août 2019
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    J'ai trouvé le .dll manquant sous C:\Windows\System32. Le dll se nomme FM20.dll. Par contre une nouvelle erreur survient. Erreur de compilation: Membre de méthode ou de données introuvable
    Nom : erreur.jpg
Affichages : 27
Taille : 140,7 Ko
    Qu'est-ce qui ne vas pas?

  7. #7
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 553
    Points : 40 108
    Points
    40 108
    Billets dans le blog
    58
    Par défaut
    Etonnant...

    Je suppose que tes listes déroulantes sont sur une feuille Excel. Essaie d'ajouter un userform à ton classeur. Si tu ajoutes un usf, la référence devrait apparaître cochée dans la liste.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Automatiser une suite de requete sql server 2008
    Par nathantahiti dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2011, 19h36
  2. Réponses: 9
    Dernier message: 03/01/2011, 15h42
  3. automatiser une suite de commande
    Par Myogtha dans le forum Unix
    Réponses: 1
    Dernier message: 15/04/2009, 16h44
  4. Automatisation Excel suite transfert AS400/EXCEL
    Par fspiecart dans le forum AS/400
    Réponses: 1
    Dernier message: 30/06/2008, 19h36
  5. copier le contenu d'une cellule à la suite d'un nom
    Par fabrice44 dans le forum VB.NET
    Réponses: 1
    Dernier message: 02/02/2008, 20h52

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