XL 2016 Trouver le premier nom d'une colonne en fonction du nom de la colonne

  • Initiateur de la discussion Initiateur de la discussion bennp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bennp

XLDnaute Occasionnel
Bonjour,

je souhaite retrouver les données précises d'un fichier xml, et les informations me sont données en décalé !

par exemple :

je cherche le premier nom qui est affiché dans ma colonne "Prénom"

L'idée est que je puisse trouver chaque premier résultat en tapant juste le nom de la colonne.


J'ai réussi à retrouver le 1er nom affiché : INDEX(Feuil2!1:1048576;EQUIV(VRAI;Feuil2!1:1048576<>"";0))

mais pas si je tape juste le nom de la colonne --> "Prénom"

Merci d'avance

Ben
 

Pièces jointes

Bonjour

Ton classeur ne contient pas une formule qui fonctionne...

En matriciel
Code:
=INDEX(Feuil2!2:1000000;EQUIV(VRAI;DECALER(Feuil2!$A$1;1;EQUIV(Feuil1!$B$1;Feuil2!$1:$1;0)-1;1000000;1)<>"";0);EQUIV(Feuil1!$B$1;Feuil2!$1:$1;0))

Encore que je vois pas trop l'intérêt de chercher sur 1000000 de lignes et qu'une source sous forme de tableau faciliterait les choses...

Edit 2 : Avec la source sous forme de tableau
Code:
=INDEX(Tableau1;EQUIV(VRAI;INDIRECT("Tableau1["&B1&"]")<>"";0);EQUIV(Feuil1!$B$1;Tableau1[#En-têtes];0))
toujours en matricielle.


Edit : Salut vgendron, pas raffraichi...
 
Dernière édition:
Merci pour vos réponses rapide !!,
je vais essayer de retranscrire vos GIGANTESQUE formules dans mon fichier 🙂

En tout cas tout fonctionne !

Ben
 

Pièces jointes

  • upload_2017-11-9_18-33-29.png
    upload_2017-11-9_18-33-29.png
    7.6 KB · Affichages: 44
  • upload_2017-11-9_18-34-50.png
    upload_2017-11-9_18-34-50.png
    7.6 KB · Affichages: 43
sinon, pour le fun
une fonction personnalisée (donc du VBA)
VB:
Function test()
Dim tablo() As Variant
Application.Volatile

Nom = Sheets("Feuil1").Range("B1") 'on récupère l'intitulé de la colonne à scruter

tablo = Sheets("Feuil2").UsedRange.Value 'on récupère l'ensemble des data de la feuille2
With Sheets("Feuil2").Rows(1)
    Set ligne = .Find(Nom, lookat:=xlWhole) 'on cherche ou se trouve l'intitulé
    If Not ligne Is Nothing Then
        col = ligne.Column 'on récupère son numéro de colonne qui sera aussi l'indice dans le tablo
    End If
End With

For i = 2 To UBound(tablo, 1) 'pour chaque ligne de la colonne "col" du tablo
    If tablo(i, col) <> "" Then 'si on a quelque chose -c'est donc le premier élément
        test = tablo(i, col) ' on renvoie l'élément
        Exit For 'et on quitte la boucle
    End If
Next i
End Function
 
Bonjour,

j'ai un 2ème souci, je souhaiterais afficher en plus du premier nom de la colonne, le 2ème nom trouvé et ainsi de suite, pour un même prénom situé dans l'autre colonne. (voir feuille 3 et 4).

Merci de votre aide

Ben

Ps: juste par curiosité, pourquoi devrait-on utiliser du vba ou les formules directes, quel intérêt de choisir l'un ou l'autre ?
 

Pièces jointes

Hello
nouvelle proposition avec zone nommée "ColRecherche" qui s'adapte automatiquement en fonction du choix en B1 (Nom Prénom ou Adresse)
et la formule en B3 à tirer autant de fois que de nombre d'éléments que tu souhaites

VBA ou formule.. c'est je pense une question de gout
 

Pièces jointes

J'ai fait un nouveau fichier pour que ce soit plus clair ! Je montre la liste des informations que je souhaite récupérer dans l'importation de mon fichier xml. J'ai franchement essayé de trouver tout seul avec les différentes propositions que vous m'avez donné mais je n'y arrive pas.

Dans la feuille 2, je montre comment je souhaite que les réponses s'affichent.

merci de votre aide SVP !!
 

Pièces jointes

J'ai appuyé sur le bouton mais j'ai ce message d'erreur
upload_2017-11-13_17-36-57.png
 
Ok merci ça fonctionne,

par contre ça devient trop compliqué pour moi en vba, surtout si je dois adapter beaucoup de résultats sous différentes formes. J'ai essayé d'adapter ton macro au 2ème tableau et j'ai pas réussi...N'y aurait-il pas une solution avec des formules ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour