Résolu! - Extraire numéro de colonne de la recherche d'une valeur...

pnlop

XLDnaute Occasionnel
Bonjour le Forum,

Voici ce que je souhaiterais obtenir (soit par VBA - idéalement ou peut-être par simple formule??:

J'ai un classeur XXX.
Dans XXX, j'ai un onglet "Clients".
Chaque ligne correspond à un client différent. En colonne H de ce tableau, figure un code, qui correspond à une liste de prix*.
J'ai un autre classeur YYY.
Dans YYY, chaque colonne à partir de D correspond à une liste de prix. Dans la 1ère cellule de chaque colonne (D1, E1 F1 etc) est entré le code qui correspond à la liste de prix*.

Objectif:
Dans XXX, en colonne I, numéro de colonne en YYY correspondant au code.
Je joints un fichier exemple pour plus de clarté... (bon, j'ai tout mis dans le même classeur)

Je suis navrée, je n'ai pas l'ombre d'une esquisse de code. Je suis larguée. Mon cerveau n'arrive pas à faire les connexions entre RechercheH, Colonne, Adress .....
:(
Merci pour votre aide!
 

Fichiers joints

Dernière édition:

NezQuiCoule

XLDnaute Occasionnel
Re : Extraire numéro de colonne de la recherche d'une valeur...

Bonjour pnlop,

Je te propose de mettre cette formule dans ta première cellule :

Code:
=EQUIV($H2;YYY!$D$1:$G$1;0)+3
Puis de l'étendre, dis nous si ça correspond à ce que tu souhaites :)
 

Bougla972

XLDnaute Occasionnel
Re : Extraire numéro de colonne de la recherche d'une valeur...

Bonjour pnlop, NezQuiCoule,

Essai avec ce code à insérer dans un module standard

Code:
Sub ActuColonne()
Dim i As Integer, cel As Range
Dim NbCol As Byte

NbCol = ThisWorkbook.Sheets("YYY").Range("A1").End(xlToRight).Column

For i = 2 To ThisWorkbook.Sheets("XXX").Range("A65536").End(xlUp).Row
    For Each cel In ThisWorkbook.Sheets("YYY").Range(ThisWorkbook.Sheets("YYY").Cells(1, 4), ThisWorkbook.Sheets("YYY").Cells(1, NbCol))
        If cel = ThisWorkbook.Sheets("XXX").Range("H" & i) Then ThisWorkbook.Sheets("XXX").Range("H" & i) = cel.Column
    Next cel
Next i

End Sub
Pour l'exéxuter tu peux insérer un bouton sur la feuille XXX...à toi de voir !
 

pnlop

XLDnaute Occasionnel
Re : Extraire numéro de colonne de la recherche d'une valeur...

Bonjour NezQuiCoule et cie,
Merci pour la réponse.
Cela marche très bien, également quand je l'adapte pour l'insérer dans mon projet "réel".
Mais du coup, je me demandais si on pouvait pas l'insérer dans une macro... comme ça, si la matrice change (ou le nb de client), on lance la macro et tout se met à jour sans devoir modifier à chaque fois la formule etc.
Donc j'ai mis ce bout de code dans un module, mais il stoppe sur "ActiveCell...." avec message d'erreur "Erreur d'exécution 1004 - définie par l'app ou par l'obj..."
Est ce que ça vient de ma formule (avec la variable DCol?)
Ou est ce que je suis complétement à côté avec ma macro?
 

pnlop

XLDnaute Occasionnel
Re : Extraire numéro de colonne de la recherche d'une valeur...

DésoléBougla972, je viens de voir ton mess.! je teste et te redis!!!
 

pnlop

XLDnaute Occasionnel
Re : Extraire numéro de colonne de la recherche d'une valeur...

J'ai oublié de mettre mon code...

Sub ListePrix()

Dim DLig As Integer
Dim DCol As Integer

DLig = Worksheets("Clients").Range("A2").End(xlDown).Row
DCol = Workbooks("Listes prix nets objets").Worksheets("Listen").Cells(1, Cells.Columns.Count).End(xlToLeft).Column

Worksheets("Clients").Range("H2").Select
ActiveCell.FormulaR1C1 = "=EQUIV(H2;'[Listes prix nets objets.xls]Listen'!$D$1:$D$&Dcol;0)+3"
Selection.AutoFill Destination:=Range("I2:I" & DLig)


End Sub
 

pnlop

XLDnaute Occasionnel
Re : Extraire numéro de colonne de la recherche d'une valeur...

Bon ben.... Une fois de plus merci!!!

Déjà à Nez qui coule car j'ai compris sa formule qui me sera toujours utile!
Et à Bougla972, de qui j'ai adapté le code et ça fonctionne impeccable!!!

Sujet résolu!
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas