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!
 

Pièces jointes

  • Classeur test Pnlop.xls
    40 KB · Affichages: 38
Dernière édition:

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...

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!
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof