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 :

recherchev en langage VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Par défaut recherchev en langage VBA
    Bonjour,

    j'aimerais la manipulation pour transcrire un "recherchev" en macro VBA.
    Je sais que l'on peut faire cela avec vlookup mais je n'arrive pas à écrire le code.
    Idem en passant par une boucle.

    Dans le fichier ci joint, il fait un recherchev sur la lettre et en fonction de la lettre, j'y affecte un chiffre.

    J'aimerais traduire cette formule en macro VBA en utilisant la notion de vlookup ou en passant par une boucle.

    je vous remercie par avance pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    si les lettres correspondent à leur numéros, essayes ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim x As Integer
    For x = 1 To Range("a" & Rows.Count).End(xlUp).Row
    Range("b" & x).Value = Range(Range("a" & x).Value & x).Column
    Next x
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Par défaut
    Citation Envoyé par casefayere Voir le message
    Bonjour,
    si les lettres correspondent à leur numéros, essayes ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim x As Integer
    For x = 1 To Range("a" & Rows.Count).End(xlUp).Row
    Range("b" & x).Value = Range(Range("a" & x).Value & x).Column
    Next x
    End Sub
    merci pour ce code mais cela ne correspond pas exactement à ce que je recherche car si je modifie le chiffre correspondant à la lettre dans la feuille "donnée", la modification n'est pas prise en compte dans la macro.

    Je ne sais pas trop comment m'en sortir.

    Merci d'avance

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    essaies ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub essai()
    Dim plage As Range, ch As Range, x As Integer, dl As Integer
    With Sheets("donnée")
    dl = .Range("a" & .Rows.Count).End(xlUp).Row
    Set plage = .Range("a1:b" & dl)
    For x = 1 To Sheets("résultat").Range("a" & Sheets("résultat").Rows.Count).End(xlUp).Row
    Set ch = plage.Find(Sheets("résultat").Range("a" & x))
    If Not ch Is Nothing Then
    Sheets("résultat").Range("b" & x) = .Range("b" & ch.Row)
    End If
    Next x
    End With
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    Pas certain d'avoir compris ce que tu veux mais pour utiliser Vlookup dans VBA, voici un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = Application.VLookup("B", Sheets("donnée").Range("A1:B7"), 2, False)
    A+

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Par défaut
    Merci pour vos réponses, c'est exactement ce que je voulais.

    Bonne journée

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

Discussions similaires

  1. gérer les objets word via le langage VBA
    Par sisiniya dans le forum VBA Word
    Réponses: 13
    Dernier message: 23/03/2008, 21h27
  2. Langage VBA EXCEL
    Par fannytaxil dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/11/2007, 19h01
  3. Avenir des langages VBA et VBScript
    Par Chatbour dans le forum Discussions diverses
    Réponses: 3
    Dernier message: 17/08/2007, 14h13
  4. langage vba + zone de texte de formulaire
    Par Sebastien_INR59 dans le forum IHM
    Réponses: 11
    Dernier message: 23/05/2006, 18h48
  5. Probleme Langage VBA
    Par nassu dans le forum Access
    Réponses: 21
    Dernier message: 20/05/2006, 09h53

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