Automatiser une feuille

hervyl

XLDnaute Nouveau
Bonjour,

Ma demande est un peu farfelue, je m'en excuse d'avance. J'espère que je vais arriver à m'expliquer clairement:

Je travaille sur un fichier dans lequel j'ai plusieurs feuilles.
La feuilles n°1 que j'appelle DONNEES dans laquelle je mets toutes mes données de base. C'est une feuille avec des données brutes, non destinée à être imprimée.

Les feuilles suivantes (des points de carottages) qui vont venir chercher des informations dans la feuille DONNEES.
Ces feuilles ont une présentation et sont destinées à être imprimées. J'ai une feuille par point de carottage.

Comme j'ai 100 carottages, je souhaite automatiser un certain nombre de données, notamment les coordonnées GPS et altitude (X/Y/Z) que je compte mettre dans un tableau dans la feuille DONNEES (donc 100 lignes et 4 colonnes (nom/X/Y/Z).

C'est peut être là mon erreur, chaque onglet porte un nom: S1/S2.../S100. J'ai automatisé ma présentation: une cellule dans ma présentation (TITRE) porte automatiquement le nom de l'onglet.

A présent, je souhaiterais que pour chaque feuille, la cellule X, la cellule Y et la cellule Z aillent chercher les informations correspondantes dans le tableau de la feuille DONNEES, en fonction du nom du carottage.

-> Soit je change sur toutes les feuilles, manuellement chaque formule pour que chaque cellule aille chercher les informations dans le tableau, mais dans ce cas, c'est aussi long que de taper les informations directement dans chaque feuille,
-> Soit j'utilise une fonction qui me dit (ça j'ai réussi): SI le nom de la cellule (TITRE) = nom de la cellule du tableau alors, tu écris: X. ce que je ne sais pas faire, c'est de lui dire que SI la question précédente n'est pas vérifiée, tu passes à la ligne en dessous puis encore en dessous... jusqu'à ce qu'il trouve la bonne ligne.

Je vous remercie de votre aide, et désolé si vous n'avez pas compris (je ne vous en voudrai pas, j'ai moi même du mal à comprendre ce que je veux), et si possible, sans macros que je ne maitrise pas. Si ce n'est pas possible sans macros, je ferai à la main...

merci, et bonne soirée,

Hervyl
 

hervyl

XLDnaute Nouveau
Re : Automatiser une feuille

Bonjour,

Réponse courte mais efficace.
Je vais toutefois plutôt m'orienter vers la fonction RECHERCHE (que j'ai trouvée en étudiant EQUIV et INDEX) qui semble plus adaptée à ce que je veux faire (en tout cas, un essai rapide sur une feuille blanche et ça a l'air de fonctionner parfaitement).

merci beaucoup pour l'orientation.

Hervyl
 

Dranreb

XLDnaute Barbatruc
Re : Automatiser une feuille

Bonjour.
Oui, beaucoup de gens utilisent RECHERCHEV.
Je ne l'aime pas personnellement car elle oblige à compter le nombre de colonnes entre la clé de recherche et celle à restituer, ne marche donc subitement plus si on insère une nouvelle colonne entre, et n'est pas applicable si la colonne à restituer est avant celle de recherche. J'utilise donc systématiquement des formules de la forme:
Code:
=INDEX(PlageRestit;EQUIV(Argument;PlageRecherche;0))
Ce qui doit souvent se corriger en:
Code:
=SI(ESTNA(EQUIV(Argument;PlageRecherche;0));"";INDEX(PlageRestit;EQUIV(Argument;PlageRecherche;0))
Mais personnellement je préfère même carrément, quand c'est possible, séparer dans des colonnes différentes la recherche et la restitution. Déjà pour n'effectuer qu'une seule fois la recherche.
Cordialement.
 
Dernière édition:

hervyl

XLDnaute Nouveau
Re : Automatiser une feuille

Bonjour,

Je reviens dans la discussion parce qu'un problème s'offre à moi à présent. Désolé si je suis long, mais je préfère bien expliquer le contexte.

OK, j'ai créé mon fichier qui en 1 clic, en fonction des informations que j'entre dans un tableau me crée autant de feuilles que de lignes que j'ai dans mon tableau, et me remplis une cellule et me nomme l'onglet du même nom que la première colonne de mon tableau.

J'ai réussi à créer ça en utilisant une macro (ma première, je suis novice en macro) trouvée sur le forum dans une ancienne discussion à partir d'un fichier envoyé par quelqu'un d'entre vous et que j'ai adapté.

A présent, je souhaiterais donc utiliser la fameuse fonction "RECHERCHEV" pour que mes feuilles se remplissent automatiquement à partir des données renseignées dans mon tableau (ou tout autre formule si plus adapté)

La formule "RECHERCHEV" commence par demander la valeur recherchée.
Or, cette valeur recherchée n'est mentionnée qu' à 2 endroits: 1 -> le nom de l'onglet 2 -> dans une cellule de ma feuille obtenu à partir d'une formule depuis le nom de l'onglet.

J'ai donc crée une macro (ma deuxième) qui me transforme une formule en texte à partir des infos glanées sur le forum:
Sub formuleText()
Range("J5").Copy
Range("BD5").PasteSpecial Paste:=xlPasteValues
End Sub

Et ça marche dans ma feuille modèle: j'ai donc une cellule (BD5) dans laquelle est écrit en texte ce qui apparait dans ma cellule J5 et qui était obtenu par une formule.
Je peux donc à partir de cette cellule activer ma fonction "RECHERCHEV" et remplir les cases correspondantes aux colonnes de mon tableau.

CE QUI NE MARCHE PAS:
Ben quand je clique sur mon bouton:"GO" pour que ça me crée automatiquement toutes mes feuilles, ma nouvelle macro s'exécute uniquement sur la cellule J5 de mon modèle et pas sur chaque cellule J5 de chaque nouvelle feuille, du coup, impossible d'utiliser la fonction RECHERCHEV ailleurs que la ligne qui correspond à mon modèle.

Avez-vous une astuce (je suis sur que c'est pas compliqué mais je ne connais pas encore bien les macros ni la programmation) pour m'aider.

Merci de vos conseils

hervyl
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Automatiser une feuille

Bonjour.
Ça ne sert à rien d'avoir dans un classeur autant d'autre feuilles qu'il y a de lignes dans une liste.
En général c'est pour avoir une présentation le la ligne sous forme de fiche pour en faciliter la lecture, la saisie ou l'impression.
Et il suffit d'un seul support de cette présentation utilisable pour toutes les lignes.
À +
 

Discussions similaires

Réponses
16
Affichages
679

Statistiques des forums

Discussions
312 508
Messages
2 089 138
Membres
104 047
dernier inscrit
bravetta