récupération données dans un tableau en vba

R

rice

Guest
Bonjour à tous
Je suis nouveau sur le forum et nouveau aussi dans mon utilisation de fonctions avancées d'excel (et vba)
J'ai fait un fichier qui permet d'établir des statistiques de flux concernant 3 types de population différentes.
Je joins le fichier en son état actuel pour donner une meilleure vision.
J'ai commencé à faire une boite de dialogue pour afficher les statistiques de chaque semaine. je voudrais afficher les résultats dans une boite sous la forme semaine : 'Numéro'
isolés : 'Nombre'
familles : 'nombre'
SPRH : 'nombre'
Les données sont dans la feuille 'recherche en Z2 à AC54
La boite de dialogue fonctionne pour l'affichage des semaines et la fonction 'annuler' mais pas pour le reste

J'ai cherché sur le forum mais n'ai pas trouvé de solution pour l'instant, j'espere que vous pourrez m'aider et vous remercie par avance [file name=parjourstats.zip size=49096]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/parjourstats.zip[/file]
 

Pièces jointes

  • parjourstats.zip
    47.9 KB · Affichages: 81

21ch181

XLDnaute Junior
Bonjour,

Je commence par quelques petits commentaires (si je puis me permettre bien sur, sans t'offenser !) ?

Si tu actives les macros complémentaires 'utilitaires d'analyse VBA', tu aura la joie de trouver une nouvelle fonctionqui s'appelle NO.SEMAINE qui permet de donner le n° d'une semaine à laquelle appartient une date (si, si ! et ca marche même trés bien !!)
C'est plus simple que ENT((..... !
Ensuite, toujours dans ta feuille 'recherche' pourquoi n'utilises tu pas un tableau croisé dynamique qui te donnera tes analyses (comptage, somme, moyenne...) comme tu l'as fait ? Il aura l'avantage de pouvoir s'actualiser d'un 'trait' de souris dés que modifies des valeurs !!

Pour répondre à ta préoccupation, ton USF ne permet que de montrer les choix de la liste déroulante !
Il faut rajouter dans ton USF 3 'labels' que tu vas nommer :
isoles, famille et spdh

ensuite il faut insérer ceci dans le code de ton USF :

Private Sub liste_Change()
numeroligne = Me.liste.ListIndex + 3
Isoles.Caption = 'Nombre Isolés : ' & Sheets('recherche').Cells(numeroligne, 27)
Famille.Caption = 'Nombre Familles : ' & Sheets('recherche').Cells(numeroligne, 28)
sprh.Caption = 'Nombre SPRH : ' & Sheets('recherche').Cells(numeroligne, 29)
End Sub


Le tour est joué, et là, par miracle, tu verras les quantités s'afficher !!

Pour faire ca j'utilise la propiété caption d'un objet label, que je paramètre dans VBA !!

En espérant t'avoir aider.

Cordialement

Alain
 

galopin01

XLDnaute Occasionnel
Bonjour Alain,
je ne suis pas spécialiste de la question mais j'ai du lire que la fonction NO.SEMAINE gère les semaines de manière pas toujours satisfaisante selon les années. (Et notament en 2005)
Et c'est pourquoi il y en a qui se sont fatigué à trouver autre chose...

Pour ce qui concerne le pb de Rice ta solution est parfaite !
A+
 

21ch181

XLDnaute Junior
Bojour Galopin01 & Co.

Je serais interessé par une description plus précise du type d'anomalie qui existerait STP si tu as bien sûr.
Je l'utilise énormément cette fonction et je n'ai jamais eu de pb dés lors que l'on renseigne correctement le type du jour de début de semaine (1 ou 2 pour dimanche ou lundi).

Serait ce lié au type de calendrier utilisé (celui de 1904) ?

Cordialement

Alain
 
R

rice

Guest
bonjour Alain
Je suis content que ma problematique genere des questions annexes
J'ai recopié le code dans l'USF mais cela me renvoie un message erreur 424 lorsque j'essaie de l'utiliser car en fait je ne sais pas rajouter les labels comme tu le specifies dans ta reponse
Je n'utilise pas le TCR car les feuilles sont cachées aux utilisateurs du fichier qui doivent juste pouvoir acceder à la saisie et aux résultats
Je me rends bien compte qu'il me manque des bases et j'en suis désolé mais pourrais-tu m'aider à nouveau pour que le code fonctionne
Merci d'avance
 

21ch181

XLDnaute Junior
Bonjour Rice,

A la lecture de ton post, je pense que tu n'as pas rajouter les objets 'labels' dans ton userform.
Si c'est le cas, ajoute les et surtout renome les comme je te l'avais indiqué.
Si par contre tu les as bien créés, leurs as tu donné le nom que je t'avis indiqué et qui est obligatoire pour que la macro fonctionne ?
En effet, quand tu crée un nouveau 'labels' dans un userform, excel lui donne un nom sous la forme 'labelsN' où N est un n° chrono !

Je pense que ton soucis est là !

Regarde, tiens moi au courant et repost ton fichier modifié si besoin pour que je te le corrige

Cordialement

Alain
 
R

rice

Guest
Merci Alain
Mon souci est effectivement que je ne sais pas rajouter les ojets label, j'essaie de trouver comment faire et je poste à nouveau
Dans tous les cas, ceci me permet d'apprendre plein de trucs
A + donc
 

21ch181

XLDnaute Junior
Qu'est ce qu'on ne ferait pas sans le net !!

C'est simple. Tu ouvre VBA, et tu te mets sur ton Userform.
Là tu dois avoir une fenêtre 'boite à outil' qui apparait, OK ?
Tu choisis alors le 'A' (la case juste à droite de la flêche), vu ?
En remettant ta souris sur le Userform, tu as maintenant une petite croix : maintient le clic gauche enfoncé depuis la position de début où tu veux tracer le 'labels', jusqu'à la position de fin, et tu relaches le clic gauche. Toujours OK ?
A ce moment, Excel t'as mis une zone nommée 'Labels x'. OK ?
Clic droit dessus, demande les propriétés. Tu as alors une rubrique, la permière qui s'appelle 'Name' dont la valeur est 'Labels x' que tu peux modifier (le nom que je t'ai mis dans la macro........ à tout hasard bien sur !).
Tu renouvelles pour les 2 autres labels, et ta macro marchera 'aux petits oignons' !
Ceci dit, tu risques de devoir agrandir ton userform pour faire tenir tous tes 'labels'.

Bon courage

A+
 
R

rice

Guest
Alain
impecc, ça avance (et en plus j'apprends le fonctionnement de certains éléments que j'ignorais)
Il reste à pauffiner des petites choses telles que la réinitialisation du contenu de l'affichage des semaines à chaque ouverture
Le bouton 'valider' pourrait devenir 'quitter'??
 
R

rice

Guest
désolé j'ai oublié le fichier [file name=parjourstats_20050414143729.zip size=50291]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/parjourstats_20050414143729.zip[/file]
 

Pièces jointes

  • parjourstats_20050414143729.zip
    49.1 KB · Affichages: 57

21ch181

XLDnaute Junior
Je ne suis pas sur de bien comprendre mais voilà ce que j'ai compris :
tu souhaites que ton bouton 'valider' permette de fermer le userform et que lorsque tu reclique sur le bouton 'semaine' il ne redonne pas les valeurs de la semaine que tu avais demandé précédemment, OK ?

Si c'est cela, il suffit de mettre Unload UserForm1 dans le code correspondant au bouton 'Valider' (dont tu auras changé la propriété CAPTION en 'QUITTER' bien sur !)

Le HIDE ne fait que suspendre l'affichage du userform mais ne le décharge pas de la mémoire.

Si ce n'est pas ca ton besoin, merci de me le ré-expliquer alors !!

Au fait as tu activé les macros complémentaires pour utiliser la fonction NO.SEMAINE('ta date ici';2) (le 2 indiquant que la semaine débute le lundi) ?
Je l'utilise depuis tellement d'années sans avoir d'erreur...

A+
 
R

rice

Guest
C'est exactement ça et je le fais de suite, je me concentre sur mon probleme mais je me garde de coté ta remarque pour l'activation de la macro complémentaire
A nouveau merci et je te tiens au courant
A+
 
R

rice

Guest
Vraiment merci pour tout
J'ai activé les macros complémentaires, c'est axtra!!
Le fichier dont nous parlons depuis le debut est maintenent au point, je le mets en copie sous sa forme finalisée si ça peut servir à quelqu'un

Je profite de ce lien tres instructif pour moi pour poser une question annexe: je voudrais au lancement d'un fichier excel que s'affiche une boite de dialogue qui indique 'Faire Control ; pour afficher la date'
sans vouloir abuser si quelqu'un a la reponse ce seriat vraiment extra
Merci à nouveau à Alain pour tous ces précieux renseignements [file name=parjourstats_20050414154529.zip size=50447]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/parjourstats_20050414154529.zip[/file]
 

Pièces jointes

  • parjourstats_20050414154529.zip
    49.3 KB · Affichages: 56

Discussions similaires

Statistiques des forums

Discussions
312 846
Messages
2 092 774
Membres
105 532
dernier inscrit
nasen31