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 :

Pb dans mon vlookup


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Janvier 2013
    Messages : 88
    Par défaut Pb dans mon vlookup
    Bonjour a tous,

    j'ai fait la macro suivante:

    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
    'Open the directory "S:" to be able to find the correct report
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = "S:"
        .Show
        'and select the report on which you click
        If .SelectedItems.Count > 0 Then Workbooks.Open (.SelectedItems(1))
    End With
     
    str = ActiveWorkbook.Name
     
     
    With ThisWorkbook.Worksheets("S i")
        For i = 0 To .Columns(.Range("BR3").Column).Find("*", , , , xlByColumns, xlPrevious).Row - 1
            If WorksheetFunction.CountIf(Workbooks(str).Worksheets("Donnees").Range("C1:C100"), (.Range("BS3").Offset(i, -69) = "h s")) Then
                .Range("BS3").Offset(i, 0) = WorksheetFunction.VLookup(.Range("BS3").Offset(i, -70), Workbooks(str).Worksheets("Donnees").Range("C15:C16"), 2, False) / 1000000
            Else
                'rien
            End If
        Next i
    End With
    en gros, je me positionne en BS3 et je dis à ma macro la condition suivante:
    si en cellule BS3 - 69 il y a marqué h s
    alors vlookup de la cellule BS3 -70, ... , ..., false

    le code semble s executer correctement mais il n y a pas de reponse, sauriez vous ou est le souci?

    merci pour votre aide,

    Bien cordialement

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    J'aurais ecrit la ligne 12 comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ThisWorkbook.sheets("S" &  i)

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Je suis surpris par ta plage de recherche qui se limite à C15:C16.
    Si la valeur de la cellule en colonne A est égale à celle de C15, on affecte la valeur de C16 /1000000 à la cellule correspondante en colonne BS, c’est bien çà ?

    Cordialement.

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Janvier 2013
    Messages : 88
    Par défaut
    oui exactement,

    mais je fais un vlookup pke y a d autre données qui sont présent dans l autre fichier et je ne veux pas qu il les copie.

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Janvier 2013
    Messages : 88
    Par défaut
    Bonjour Keygen08,

    le probleme n est pas la, tout marche c'est uniquement le vlookup qui marche pas! c bizarre!!!

  6. #6
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Ce que je veux te dire, c’est qu’il n’y a pas besoin de faire un VLookup pour cette opération.
    Il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If .Range("BS3").Offset(i, -70)= Workbooks(str).Worksheets("Donnees").Range("C15") then _
    .Range("BS3").Offset(i, 0) = Workbooks(str).Worksheets("Donnees").Range("C16")/ 1000000
    Je comprendrais si la recherche s’effectuait sur une plage incluant plusieurs cellules, mais s’il n’y a qu’une cellule (C15), je ne vois pas l’intérêt d’un VLookup.

    Cordialement.

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

Discussions similaires

  1. __declspec(dllexport) dans mon fichier header mais...?
    Par Jasmine dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 03/03/2004, 19h00
  2. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 15h59
  3. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 19h35
  4. Réponses: 7
    Dernier message: 26/06/2003, 10h11
  5. [] Utiliser AVI d'une DLL dans mon programme
    Par seb.49 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/05/2003, 15h52

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