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 :

aide programmation vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Par défaut aide programmation vba
    Bonjour, je suis débutant en vba et j'aurais grand besoin d'aide.

    J'ai créé un tableau Excel de 200 lignes et 3 colonnes. En fait in faudrait que pour un certaine valeur donnée dans la colonne 1 (par exemple 5) et un autre valeur donnée dans la colonne 2 (par exemple 15), le programme me donne la valeur correspondante de la colonne 3. Je pense qu'il faut utiliser des boucles for mais je ne sais pas faire.

    Je vous remercie d'avance.

    Cordialement.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    A main levée et selon ton exemple ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
     
    For i = 1 To 200
        If Cells(i, 1).Value = "5" Then
            If Cells(i, 2).Value = "15" Then
                MsgBox Cells(i, 3).Value
            End If
        End If
    Next
     
    End Sub
    Et voilà !

    bonne chance

  3. #3
    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,

    tu peux peut-etre adapter un code dans ce gout là, avec les éléments que tu donnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim dl as integer, x as integer
    dl = range("a" & rows.count).end(xlup).row
     
    for x = 1 to dl
    if range("a" & x) = 5 and range("b" & x) = 15 then
    msgbox range("c" & x).value
    end if
    next x
    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...)

  4. #4
    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 et bienvenue,
    Désolé mais c'est pas très clair,
    Une valeur donnée? comment indique tu la valeurs de ta colonne 1 et 2 dans une boite de dialogue, dans des celulles ?
    De même comment veux tu retrouver le résultat, dans une celulle, dans une boite de dialogue,...
    Est ce que chaque ligne est unique, ou y a t'il des doublons ?
    Il faut un peu plus d'explications pour pouvoir t'aider.

    Edit: Bah il y en a des plus perspicaces que moi

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Par défaut
    Voila en fait les deux valeurs données sont entrées dans une boite de dialogue que j'ai créé. Et j'aimerais que la réponse me soit donnée sur une feuille Excel dans une cellule.

    Merci.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Pour avoir la réponse donnée dans la feuille BlaBla disons dans la cellule A1, tu remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Cells(i, 3).Value
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("BlaBla").Range("A1").Value = Cells(i, 3).Value
    Est-ce que tu souhaites ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Par défaut
    oui, c'est ce que je souhaite. Mais est-ce que le code donné ci-dessus est correct si j'utilise une boite de dialogue ? Merci.

  8. #8
    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
    si je reprends mon exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim dl as integer, x as integer, v2 as string, v1 as string
    v1 = inputbox("valeur1","entrez la valeur")
    v2 = inputbox("valeur2","entrez la valeur")
    dl = range("a" & rows.count).end(xlup).row
     
    for x = 1 to dl
    if range("a" & x) = v1 and range("b" & x) = v2 then
    Worksheets("BlaBla").Range("A1").Value = range("c" & x).Value
    end if
    next x
    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...)

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Re,

    Prends le dernier code de casefayere (salutations ! ), c'est le plus optimisé.

    Bonne continuation

Discussions similaires

  1. [XL-2010] Aide programme vba
    Par Rob's dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2013, 10h06
  2. Demande d'aide programmation VBA
    Par quentin22breizh dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/09/2012, 16h27
  3. [Toutes versions] Aide programmation VBA
    Par sébastien.R dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 09/05/2011, 03h09
  4. Aide Programmation VBA?
    Par chubak62 dans le forum Excel
    Réponses: 3
    Dernier message: 20/05/2009, 20h41

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