RechercheV sur un nombre variable d'onglets
Bonjour,
Je bataille sur un point depuis quelque temps mais je ne vois absolument aucun moyen de résoudre ce problème.
Dans mon fichier excel j'ai une page "DB1_Image" qui sera dupliquée ( et modifiée ) un nombre variable de fois, je ne peux donc pas prévoir à l'avance le nombre d'onglets ni leur nom. En revanche les colonnes resteront toujours les mêmes.
J'ai 2 pages "Tableau ES" et "Tableau synoptique" où devront se trouver les formules de recherche, c'est sur ces pages que tout doit être centralisé.
Ce que je souhaite faire pour les 2 pages Tableau est rechercher le terme contenu de la colonne A dans les autres pages ( ces données se trouveront dans la colonne H "Fonction du mnemo" des pages issues de la duplication de la page "DB1_Image", chaque donnée ne peut être présente qu'une seule fois) et sur le même principe que RECHERCHEV à partir de cette donnée pour récupérer des données se trouvant sur cette même ligne.
Merci d'avance
Bonjour
Ce que je souhaite faire pour les 2 pages Tableau est rechercher le terme contenu de la colonne A dans les autres pages ( ces données se trouveront dans la colonne H "Fonction du mnemo" des pages issues de la duplication de la page "DB1_Image", chaque donnée ne peut être présente qu'une seule fois) et sur le même principe que RECHERCHEV à partir de cette donnée pour récupérer des données se trouvant sur cette même ligne.
Peux-tu à titre d'exemple compléter ton fichier avec notamment:
- Au moins une première copie de ta feuille DB1_IMAGE
- Deux ou trois données dans le colonnes H pour savoir ce que nous devons chercher.
Voici le fichier Excel avec un remplissage possible :
De la même manière que j'ai 2 feuilles "DB" je peux très bien en avoir une dizaine.
Chaque morceau de texte contenu dans la première colonne de mes feuilles "Tableau ES" et "Tableau synoptique" peut se trouver dans les colonnes "Fonction du mnemo" ( la colonne H) de mes feuilles "DB..."
Chaque feuille "DB" aura exactement le même nombre de colonne contenant le même type de données.
Merci pour le coup d'oeil
Salut SosauvV2,
Rien compris à ce qu'il faut faire...
Vais attendre la prochaine version de ta prose ou applaudir le génie qui saura traduire...
A+
Salut SosauvV2,
Rien compris à ce qu'il faut faire...
Vais attendre la prochaine version de ta prose ou applaudir le génie qui saura traduire...
A+
Je vais essayer d'expliquer autrement , il faudrait rechercher le contenu de la première colonne de ma feuille "Tableau ES" et "Tableau synoptique" dans les colonnes H "Fonction du mnemo " de mes pages "DB..."
- il ne faut pas utiliser les références directes de la feuille car celles-ci sont modifiables et d'autres peuvent s'y ajouter
- mes pages "DB..." ont toutes la même mise en forme ( à par le nombre de ligne ) et toutes les données à rechercher se trouvent obligatoirement dans la colonne H de ces feuilles
- la liste de données complètes de données à rechercher dans la colonne H de mes feuilles "DB..." se trouve dans l'onglet "Objet simulation"
Pour essayer de résumer, j'essaie de mettre en place une espèce de fonction RechercheV mais celle-ci m'est inutilisable car je ne peux pas sélectionner directement une zone de recherche qui est variable.
Je ne dispose que :
- du nom de la feuille où chercher la donnée, toujours le même format
- la mise en forme des tableaux dans les différentes feuilles, seul le nombre de ligne peut changer
- il faut rechercher la donnée de la colonne A de ma feuille "Tableau ES" dans la colonne H de mes feuilles "DB...". Même chose pour la colonne H de ma feuille "Tableau synoptique".
En espérant avoir été plus clair.
Bonjour
il faut rechercher la donnée de la colonne A de ma feuille "Tableau ES" dans la colonne H de mes feuilles "DB...". Même chose pour la colonne H de ma feuille "Tableau synoptique".
Cela doit être faisable. Cependant, tu ne précises pas quelles données doivent être renvoyées par la formule dans les colonnes C et D de tes Tableaux.
Par exemple, en colonne C, "Valeur par défaut" doit renvoyer les valeurs de quelle colonne des feuilles "DB..." ?
Cordialement
Bonjour
il faut rechercher la donnée de la colonne A de ma feuille "Tableau ES" dans la colonne H de mes feuilles "DB...". Même chose pour la colonne H de ma feuille "Tableau synoptique".
Cela doit être faisable. Cependant, tu ne précises pas quelles données doivent être renvoyées par la formule dans les colonnes C et D de tes Tableaux.
Par exemple, en colonne C, "Valeur par défaut" doit renvoyer les valeurs de quelle colonne des feuilles "DB..." ?
Cordialement
Bonjour,
La colonne C de mes pages "Tableau" doit renvoyer la donnée de la colonne D de mes pages "DB...", la colonne D de mes pages "Tableau" doit renvoyer la donnée de la colonne F de mes pages "DB...".
Cordialement
Bonjour
La colonne C de mes pages "Tableau" doit renvoyer la donnée de la colonne D de mes pages "DB...", la colonne D de mes pages "Tableau" doit renvoyer la donnée de la colonne F de mes pages "DB...".
Il ne s'agit plus d'une formule RECHERCHEV, mais d'un INDEX-EQUIV puisque les données à renvoyer sont avant la colonne H des feuilles "DB..."
Les explications sont sur la Feuille "Tableau synoptique"
Le Code dans le Module3 établit la liste des onglets en colonne L de cette Feuille
Sub ListeOnglets()
Worksheets("Tableau synoptique").Activate
Range("L1").Select
ActiveCell.Value = "Liste des Feuilles"
For i = 1 To Worksheets.Count
[L1].Offset(i, 0).Value = Worksheets(i).Name
Next i
End SubCette liste est Nommée "ListeFeuilles" par la formule représentant le champ dynamique de la colonne L (La liste des Onglets)
=DECALER('Tableau synoptique'!$L$2;;;NBVAL('Tableau synoptique'!$L:$L)-1)
Il faut donc pour actualiser les formules actualiser cette liste après ajout de Feuille(s) "DB..."
Sur cette Feuille "Tableau synoptique"
Formule en C2
=SIERREUR(INDEX(INDIRECT(INDEX(ListeFeuilles;EQUIV(VRAI;(NB.SI(INDIRECT(ListeFeuilles&"!H2:H113");$A2)>0);0))&"!D2:D113");EQUIV($A2;INDIRECT(INDEX(ListeFeuilles;EQUIV(VRAI;(NB.SI(INDIRECT(ListeFeuilles&"!H2:H113");$A2)>0);0))&"!H2:H113");0));"")Formule en D2
=SIERREUR(INDEX(INDIRECT(INDEX(ListeFeuilles;EQUIV(VRAI;(NB.SI(INDIRECT(ListeFeuilles&"!H2:H113");$A2)>0);0))&"!F2:F113");EQUIV($A2;INDIRECT(INDEX(ListeFeuilles;EQUIV(VRAI;(NB.SI(INDIRECT(ListeFeuilles&"!H2:H113");$A2)>0);0))&"!H2:H113");0));"")Ces formules sont matricielles et donc, à valider avec les 3 touches Ctrl+Maj+Entrée
Cordialement
Merci ça correspond tout à fait à ce que je recherchais
Maintenant j'ai pas mal de boulot pour comprendre à la fois l'enchaînement des formules matricielles et des macros
Merci beaucoup pour ce coup de main