"N'importe quel"

tapesec

XLDnaute Nouveau
Bonjour,

J'ai un dossier contenant un classeur A avec une feuille contenant un tableau A de donnée.
Dans le dossier je sauvegarde aussi en utilisant toujours les mêmes nom de fichiers (B C D) d'autres classeurs contenant des tableaux aussi chaque jour j'ecrase par de nouveaux tableaux ayant la meme structure les anciens.
Dans le tableau de mon classeur A j'ai mis des formules dans mes cellules pour afficher la valeur des cellules de mes autres tableaux B C D.
Le problème, c'est que dans ces tableaux B C D le nom des onglets changent (lundi mardi mercredi ou janvier fevrier mars ou 01 02 03 04 etc ...) du coup je me mange une erreur #REF!.
Voici un exemple de formule dans une de mes cellules :
=SOMME('N:\UOC\nePasToucher\[94.xls]06'!$B$13;'N:\UOC\nePasToucher\[94.xls]06'!$D$13)

Moi je voudrai que dans ma formule pour la condition "onglet nommé 06" je puisse écrire un truc du genre n'importe quel onglet
En gros, pour etre plus clair, faire en sorte que le nom de l'onglet dans lequel se trouve le tableau ou je veux recup des données n'est pas d'importance.

Ou alors si il faut que je m'y prenne carrément autrement me donner une petite piste :)

Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : "N'importe quel"

Bonjour,

2 solutions, soit le nom de l'onglet peut être déterminer de facon logique (date par rapport à celle du jour dans un format connu), soit il faut boucler sur toutes les feuilles du classeur pour déterminer la bonne en testant une cellule....

bon après midi
@+

Edition : bonjour tdenfert, aarf suis peut être à coté de la plaque moi...
 
Dernière édition:

tapesec

XLDnaute Nouveau
Re : "N'importe quel"

Bonjour,

2 solutions, soit le nom de l'onglet peut être déterminer de facon logique (date par rapport à celle du jour dans un format connu), soit il faut boucler sur toutes les feuilles du classeur pour déterminer la bonne en testant une cellule....

bon après midi
@+

Edition : bonjour tdenfert, aarf suis peut être à coté de la plaque moi...

Merci pour ta réponse
Comme il faut boucler et que je n'y connais rien j'ai pensé à une autre solution :

Comme j'y connais rien au boucle, pourriez vous me donner le code VBA qui permet de modifier le nom d'onglet courant d'un classeur sélectionné :

Par exemple si j'ouvre un classeur il y a par défaut un onglet "mercredi" déjà sélectionné et si je modifie son nom le code donne
Sheets("Mercredi").Select
Sheets("Mercredi").Name = "essai"

Moi je voudrais remplacer Sheets("Mercredi").Select par un truc genre Sheets("curent").Select quelque chose qui modifie l'onglet par défaut sélectionné quand tu ouvres le classeur .
Ainsi j'aurai plus qu'a creer une macro qui ouvre le classeur qui m'interesse et qui renome l'onglet par défaut sélectionné par un nom que j'aurai choisi pour ainsi pouvoir coder mes formules une fois pour toutes.

je suis pas tres clair je sais :s

EDIT : en gros une instructions VBA qui dit :

ouvrir le classeur nommé "nomDuClasseur"
renommé l'onglet selectionné par défaut par "nomDeLonglet"
sauvegarder le classeur
fermer le classeur

Voilà si je connais ce code je l'adapterai pour tous mes classeurs et apres mes formules dans mon tableau principal marcheront toutes :)

Merci d'avance si vous savez ou même si vous m'avez lu
 
Dernière édition:

tapesec

XLDnaute Nouveau
Re : "N'importe quel"

C'est exactement ca cette ligne marche tres bien et j'ai donc réussi a creer une macro sur un bouton qui ouvre mon classeur et modifie comme je le veux l'onglet actif par défaut.
Je récapitule mon systeme :

J'ai un classeur avec un tableau qui doit centraliser l'ensemble des données venu de plein d'autres tableau dans des classeurs différents.
Quand je reçois par mail mes nouveaux tableaux chaque jour, je l'ai renomme d'une certaine façon qui correspond au formule dans mon tableau principal et je les sauvegarde par dessus les tableaux des jours précédents.
Ensuite j'ouvre mon tableau principal et là le problème c'est que comme mes formules ne trouvent plus les noms d'onglet correspondant dans mes nouveaux tableau, mes cellules souleve des erreurs #!REF.
j'appuie ensuite sur mon bouton avec ma macro qui modifie le nom des onglets de mes tableaux à inserer dans le grand tableau mais là, au lieu que disparaisse l'erreur #!REF, elle reste et les formules ne reviennent pas à leurs valeurs initial.

Exemple de formule initiale :
=SOMME('N:\UOC\nePasToucher\[scp.xls]Avril'!$R$30;'N:\UOC\nePasToucher\[scp.xls]Avril'!$S$30;'N:\UOC\nePasToucher\[scp.xls]Avril'!$T$30;'N:\UOC\nePasToucher\[scp.xls]Avril'!$U$30;'N:\UOC\nePasToucher\[scp.xls]Avril'!$V$30)
Formule après avoir soulevé le problème de nom d'onglet différent
=SOMME('N:\UOC\nePasToucher\[scp.xls]#!REFl'!$R$30;'N:\UOC\nePasToucher\[scp.xls]#!REF'!$S$30;'N:\UOC\nePasToucher\[scp.xls]#!REF'!$T$30;'N:\UOC\nePasToucher\[scp.xls]#!REF'!$U$30;'N:\UOC\nePasToucher\[scp.xls]#!REF'!$V$30)
Je modifie le nom de mon onglet en Avril pour que ca colle avec la formule initiale, mais la formule reste comme ci dessus, je suis obligé de remettre à la main la formule initiale.

Comment je peux faire en sorte que ma forule quand elle trouve une erreur ne se modifie pas et ne remplace pas le nom de mon onglet par des #!REF ?

Merci d'avance
 

Discussions similaires

Réponses
5
Affichages
220
  • Résolu(e)
Microsoft 365 Tri et Import
Réponses
4
Affichages
204

Statistiques des forums

Discussions
312 400
Messages
2 088 087
Membres
103 711
dernier inscrit
mindo