pb de changement de données

  • Initiateur de la discussion Initiateur de la discussion malika
  • 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 !

malika

XLDnaute Nouveau
Bonjour le forum!!
Voilà j'ai un petit souci.... J'ai un classeur excel qui se réactualise toutes les semaines en insérant un nouvel onglet (une nouvelle feuille) dans le classeur, qui concerne les factures non émises de la semaine concernée, je voudrais mettre une formule ss excel normal ou sur vba, dans un autre classeur afin de récupérer chaque semaine les nouvelles données du nouvel onglet.

J'ai d'abord pensé à une fonction "si " couplé à une fonction "recherche", je part d'une liste où l'utilisateur choisit la semaine concernée, et d'après cette semaine il y a une recherche de l'onglet correspondant dans l'autre fichier et affichage des données correspondantes. Mais cela implique que quelqu'un toutes les semaines rajoute une nouvelle condition à la formule, pour afficher une autre semaine.
Voilà ma formule jusqu'a présent:

=SI(Signalisation!$D$11="14.05.2007";RECHERCHEV(A7;'Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\[Suivi de la gestion des MED.xls]14_05_2007'!$A$2:$AB$31;5;FAUX);SI(Signalisation!$D$11="21.05.2007";RECHERCHEV(A7;'Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\[Suivi de la gestion des MED.xls]21_05_2007'!$A$2:$AB$38;5;FAUX);SI(Signalisation!$D$11="29.05.2007";RECHERCHEV(A7;'Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\[Suivi de la gestion des MED.xls]29_05_2007'!$A$2:$AB$38;5;FAUX);SI(Signalisation!$D$11="04.06.2007";RECHERCHEV(A7;'Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\[Suivi de la gestion des MED.xls]04_06_2007'!$A$2:$AB$14;5;FAUX);SI(Signalisation!$D$11="11.06.2007";RECHERCHEV(A7;'Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\[Suivi de la gestion des MED.xls]11_06_2007'!$A$2:$AB$4;5;FAUX);RECHERCHEV(A7;'Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\[Suivi de la gestion des MED.xls]18_06_2007'!$A$2:$AB$10;5;FAUX))))))

Comment faire pour rendre cela parfaitement autonome, quelle formule mettre? quelqu'un aurait une idée????????
 
Re : pb de changement de données

d'ac voilà le document contenant les onglets, la formule indirect m paraît être une bonne idée ms le classeur en question contenant tous les onglets des factures non émises par semaine est différent du classeur où j veux afficher les données
 

Pièces jointes

Re : pb de changement de données

Re,

Je n'ai pas tres bien compris comment tu voulais rapatrier les données dans Fichier.xls mais tu trouveras ci-joint une interpretation en me basant sur la formule de ton premier Post
 

Pièces jointes

Re : pb de changement de données

d'ac je viens de voir, ton idée est intéressante et je vais essayer de l'exploiter... ce que j'essaye de faire est un peu plus compliqué; tu vois dans le fichier suivi des med, il y a plusieurs onglets qui sont tous dans le même classeur, jusqu'à présent j'ai trouvé comment afficher les données sur une feuille d'un autre classeur selon la date de la semaine choisit par l'utilisateur: je place une liste dans une cellule des dates de semaine (14.05.07 / 25.05.07 / 29.05.07...) que l'utilisateur va choisir selon la date qui l'intéresse, puis pour chaque données que je veux afficher, je mets une fonction recherche , par exemple pour le numéro de client j tape =si(B5 'cellule où se trouve les dates de semaines'="14.05.07";recherchev(A3;'Suivi de gestion des MED'.xls;3;FAUX);si(B5="25.05.07...... et ainsi de suite jusqu'à la dernière date et pour toutes les données que je souhaite afficher.
Le problème que je rencontre est qu'avec mes fonctions "si imbriquées" je ne peux en placer que 7 dans une même formule, et si je veux des données d'une autre date, il faudrait que je le fasse manuellement en insérant une autre fonction si à la formule de référence (voir exemple ci dessus)
Ma question est de savoir si l'on pourrait par une formule ou quelque chose sur vba, faire en sorte que les données s'affichent automatiquement lorqu'un nouvel onglet (donc une nouvelle semaine) est ajouté au fichier de référence.
Car ce nouvel onglet est ajouté toutes les semaines par un autre service. Mon objectif est de rendre cela autonome ss vraiment d'intervention extérieure. J'ai essayé de placer toutes ces données sur une même feuille pour enrayer le pb des différents onglets, et établir ensuite à partir de ces données un tableau croisé dynamique, mais je me heurte au même pb, mon tcd ne se remet pas à jour quand son fichier de réference change.... la première fonction de recherche serait la meilleure car elle me permettra de faire des graphiques plus élaboré.... as-tu une idée? ou une autre âme charitable du forum, génie d'excel ? 😱
J mets un autre fichier en annexe pr plus d compréhension
 
Re : pb de changement de données

voilà les fichiers
 

Pièces jointes

Re : pb de changement de données

Bonsoir,

Avec les formules dans les cellules, j'ai mieux compris 😉

Ci-joint une solution.
Pour tester, il faut que les 2 fichiers soient dans le meme dossier.

La solution est basée sur :
- une macro qui scanne les noms d'onglets du fichier "Suivi de la gestion des MED.xls"
- une macro qui colle ces noms dans la liste en D3
- Des fonctions INDIRECT et RECHERCHEV qui vont rechercher les données dans l'onglet choisi.

Contrainte :
- Il faut que les 2 fichiers soient ouverts (pour aller chercher les noms d'onglets et parce que INDIRECT necessite que le fichier soit ouvert).

Adaptation :
- La solution fonctionne grace au bouton mais peut etre automatisée à partir d'un évènement (ouverture du fichier, changement dans une cellule etc ...)
 

Pièces jointes

Re : pb de changement de données

merci beaucoup!!!! c exactement ce que je cherchais à faire, 😛 😀 par contre j'ai un petit souci au niveau de vba j'ai changé l'adresse du fichier dans la formule que tu m'a donné pr correspondre à l'emplacement exact sur mon ordinateur et du coup tous les onglets ne s'affichent pas correctement dans la liste, est ce une erreur de ma part au niveau de la formule vba? la voici, un grd merci à toi pr d'être penché sur mon pb 😛

Sub Test2()
Application.ScreenUpdating = False

Workbooks.Open "Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\Suivi de la gestion des MED.xls"


For Each X In Workbooks("Suivi de la gestion des MED.xls").Sheets 'Liste tous les onglets du fichier ...MED.xls
Tempo = Tempo & X.Name & ","
Next
MaListe = Left(Tempo, Len(Tempo) - 1) 'Enleve la derniere virgule
'Créé une Liste de validation avec les onglets récupérés
With Workbooks("Copie de Tableau indicateurs qualité (version 1).xls").Sheets("Feuil2").Range("G3").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=MaListe
.InCellDropdown = True
End With
Workbooks("Copie de Tableau indicateurs qualité (version 1).xls").Activate
Application.ScreenUpdating = True
End Sub
 
Re : pb de changement de données

Bonjour,

Que se passe t il exactement ?
La liste des onglets en D3 est incomplete ?

Si tu supprimes la ligne : Workbooks.Open "Y:\Users\GLM\MALIKA SANI\Indicateurs qualité\Suivi de la gestion des MED.xls"
Que tu ouvres le fichier "Suivi de la gestion des MED.xls" à la main
Et que tu lance la macro, ca donne quoi ?

Y: est un chemin réseau ?

L'exemple que j'ai posté fonctionne-t-il tel que ?
 
Dernière édition:
Re : pb de changement de données

oui Y: est un chemin réseau, le doc Suivi de gestion Med s'ouvre sans pb une fois q l'on clique sur le bouton associé à la macro, le pb se passe dans les onglets récupérés dans la liste de validation, les dates s'arrêtent au 15-01-2007 (j'ai ajouté d'autres dates précédentes nottament des semaines de 2006), j'ai au total 26 dates dans ma liste de validation ms elle s'arrête au 15_01_2007, j m demande si le pb ne vient pas du changement d'emplacement q j'ai fait, où il y a-t-il un nombre limité de dates que peut contenir la liste?
 
Re : pb de changement de données

Re,

Je crains effectivement qu'il y ait une limite.
Ne serait-ce que liée à la taille de la variable affectée à Formula1.

Je vois 2 alternatives :
- Faire reférence à une zone pour la liste de validation
ou
- Utiliser une liste de formulaire

Je vais modifier ça asap.
A+
 
- 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

Réponses
5
Affichages
569
Réponses
15
Affichages
2 K
Réponses
11
Affichages
542
Réponses
1
Affichages
606
Réponses
1
Affichages
881
Retour