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 :

Recherche dans colonne [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut Recherche dans colonne
    Bonjour,

    J'ai un fichier (gestion des congés d'un groupe) qui contient pas mal de macros. Tout fonctionne comme je le souhaite, par contre, je vais envoyer un mail automatiquement (macro pour le mail c'est bon, c'est fait) et utiliser une signature (un nom) qui est récupérée depuis une feuille (disons Feuil1) en fonction de l'username... pour ceci, 2 colonnes, username et nom.

    Cela fait quelques jours que j'essaie de comprendre comment faire ceci (voir fichier joint):

    Dans la colonne A rechercher une valeur (qui représente le Application.UserName du PC)...
    Si la valeur est trouvée, alors mettre dans une variable x la valeur dans la colonne B sur la même ligne que la valeur de la colonne A (ex, le username est 3, mettre dans une variable x la valeur "ac")

    Cette variable x, représente la signature du mail automatique ...
    j'espère que je suis clair. Je sais que c'est simple (ne vous moquez pas ), mais des fois le chose les plus simples on n'arrivent pas les faire fonctionner ...

    j'ai essayé ceci, mais cela ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 20
    If Worksheets("Feuil1").Range("A" & i) = Application.UserName Then x = Worksheets("Feuil1").Range("B" & i)
    Next i

    j'ai pensé à utiliser le "do ... while" ou "do until" ...


    Merci par avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour

    Qqchose du style ci-dessou devrait pouvoir le faire

    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
    Sub Test_email()
     
    Dim InpRng As Range, Cl As Range
    Dim UserName As String, Sign As String
     
        Set InpRng = ThisWorkbook.Worksheets("Feuil1").Range("A1").CurrentRegion
        UserName = Application.UserName
        UserName = "3"  'String, à confirmer
     
        For Each Cl In InpRng.Columns(1).Cells
     
            Debug.Print Cl.Value, Cl.AddressLocal
     
            If CStr(Cl.Value) = UserName Then
     
                Sign = Cl.Offset(0, 1).Value  'On décalle d'une col et on sort de la boucle
                Exit For
     
            End If
        Next Cl
     
     
    End Sub

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    Préférer les fonctions de feuille de calculs internes à Excel : c'est plus rapide et plus simple !
    Dans ce cas en l’occurrence la fonction EQUIV (Match en VBA, anglais natif oblige …) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Demo()
                   Const ID% = 3
        With Feuil1
                           V = Application.Match(ID, .Cells(1).CurrentRegion.Columns(1), 0)
            If Not IsError(V) Then MsgBox ID & " : " & .Cells(V, 2).Value2
        End With
    End Sub
    __________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut
    Bonjour à vous 2,

    Quelle rapidité

    J'ai testé les 2 variantes (que j'ai adapté bien évidement à mon cas)... les 2 fonctionnent très bien. j'ai gardé la variante de vinc_bilb (plus "lisible", à mon avis, si un autre utilisateur est amené à trifouiller dans les macros de mon fichier)

    Merci beaucoup !

    Alexandre

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

Discussions similaires

  1. [XL-2007] Automatisation de recherche dans colonne et copie des lignes
    Par looping06 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/08/2012, 17h19
  2. Recherche dans colonne
    Par stéphanie123 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/02/2012, 17h42
  3. recherche dans colonne
    Par stéphanie123 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/01/2010, 20h06
  4. Recherche dans colonne de type "blob"
    Par ginkas31 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/04/2008, 17h20
  5. [VBA-E] Recherche dans une colonne
    Par snowkhan dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 15h21

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