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 :

Vlookup et range variable [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 78
    Par défaut
    Bonjour à tous,
    j'utilise ce code qui marche tres bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range("J3").Select
            ActiveCell.FormulaR1C1 = _
            "=VLOOKUP(RC[-9],'Régie en dép. Planif'!R1C9:R1573C7,17,FALSE)"
                    Range("J3").Select
        Selection.AutoFill Destination:=Range("J3:J" & Range("A3").End(xlDown).Row), Type:=xlFillDefaul
    Mais maintenant dans ma nouvelle recherchev, ma table matrice est aussi variable
    j'aimerais donc dans ma formule, selectionner toutes mes lignes et pas seulement les 1573 lignes dans mon code ci dessus, car mon tableau est de table variable chaque mois
    J'aie ssayé de transformer les "RC" en range sans grand succes
    Merci de votre aide

    voila mon test
    qui ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("j3").Value = WorksheetFunction.VLookup(Range("a3").Value, Régieendép.Planif!Range("A3:Q" & Range("A3").End(xlDown).Row), 17, False)

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    supposons que ta matrice commence en colonne A, ligne ligdeb de ta feuille Régie en dép. Planif et se termine en colonne AC, ligne ligfin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J3").Formula = "=VLOOKUP(A3," & Sheets("Régie en dép. Planif").Name & "!" & Range("A" & ligdeb).Address & ":" & Range("AC" & ligfin).Address & ",17,FALSE)"

    Ou pour ton exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J3").Formula = "=VLOOKUP(A3," & Sheets("Régie en dép. Planif").Name & "!$A$3:" & Range("Q" & ligfin).Address & ",16,FALSE)"
    16 au lieu de 17

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 78
    Par défaut
    merci pour ta réponse
    toutefois j'ai un message d'erreur pour ce code la

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J3").Formula = "=VLOOKUP(A3," & Sheets("Régie en dép. Planif").Name & "!$A$3:" & Range("Q" & ligfin).Address & ",16,FALSE)"
    "méthode range de l'objet global a échoué"

    dois je avant le code lister les variables?

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Oui, avant ta dernière ligne doit être déclarée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim ligfin as long
    ligfin=range("A65000").end(xlup).row
    Range("J3").Formula = "=VLOOKUP(A3,'" & Sheets("Régie en dép. Planif").Name & "'!$A$3:" & Range("Q" & ligfin).Address & ",16,FALSE)"
    il y a des espaces dans ton nom de feuille, j'ai ajouté une apostrophe

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 78
    Par défaut
    Merci c'est ça
    mais avec 17 au lieu de 16
    Encore merci

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligfin = Sheets("Régie en dép. Planif").Cells(Sheets("Régie en dép. Planif").Columns(1).Cells.Count, 1).End(xlUp).Row
    tu es en 2007
    Edit, c'est 17

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

Discussions similaires

  1. [XL-2003] range Variables Offset
    Par Djromé dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/11/2011, 11h04
  2. [Toutes versions] Problème de syntaxe dans un vlookup avec page variable
    Par guiMM dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/02/2010, 20h18
  3. Somme d'une colonne (avec nombre de rangée variable)
    Par Berny77 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/05/2008, 23h30
  4. Graph et range variable
    Par fantii dans le forum Excel
    Réponses: 14
    Dernier message: 29/02/2008, 20h59
  5. Range variable selon critère
    Par Blobomotz dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/07/2007, 06h41

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