Formulaire intéractif de saisie de données et de consultation... très urgent, heeelp

yasminajm

XLDnaute Nouveau
Formulaire intéractif de saisie de données et de consultation... Merci de votre aide

Bonjour,

Je suis une débutante et je dois créer à partir d'un fichier excel (2003) un formulaire de saisie de données et si possible de consutations des données. Mes données se trouvent sur deux feuilles du classeur 2009 et 2010. Dans une autre feuille Paramètres, j'ai noté les informations pour toutes les listes déroulantes des 2 tableaux.


Par ailleurs, il faudrait qu'à chaque nouvelle saisie, un n° automatique s'incrémente à la fiche du formulaire et celle du tableau en commençant par le n° 2455. Je ne sais pas trop si je suis claire...

Je n'y connais rien en vba ni en formulaire, quelqu'un peut-il m'aider svp ? Je joins le fichier en question. Merci d'avance pour votre aide... :confused:
 

Pièces jointes

  • Fichier test 2009-2010.xls
    189.5 KB · Affichages: 702
Dernière édition:

yasminajm

XLDnaute Nouveau
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Bonjour le forum,

Chalet75 merci pour le fichier que vous m'avez envoyé. Je l'ai joint ici en réintégrant la fiche.

Par contre, impossible de cocher les cases copier, ne pas recopier.

Bon début de semaine à tous.

Yasmina
 

Pièces jointes

  • yasminajm 4.xls
    171 KB · Affichages: 163

CHALET53

XLDnaute Barbatruc
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Bonjour,

Normal de ne pas pouvoir cocher :

Le userform2 permet deux options :

Saisie directe (auquel cas il ne faut pas que les boutons option soient actifs)
Ils vont devenir actifs si après le choix d'une recherche sur Nom et Prénom un individu est trouvé et affiché (userform1) . En sortant du userform1 par valider ou Quitter, le userform2 réapparaît avec l'option cocher disponible et la possibilité de saisir une fiche nouvelle indisponible pour ne pas semer la pagaille.

Le userform2 permet aussi la consultation sur recherche nom et prénom. il suffit de ne pas recopier pour sortir

Suis-je clair ?

Je rentre d'une journée de ski sous un superbe soleil (mais une neige moyenne)
 

CHALET53

XLDnaute Barbatruc
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Autre point concernant la réintégration de l'onglet Fiche
Il faut procéder à des modifications dans les zones nommées (par Insertion / nom / définir)
Exemple NomPat fait référence au précédent fichier (le 2 d'où vient la copie)

a+
 

yasminajm

XLDnaute Nouveau
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

La chance, je rêve d'un day off en ce moment (par contre sans le ski, parce que douée comme je suis je risque de revenir momifiée :d)

Okkkkkkk j'ai compris pour les cases à cocher ! Par contre qu'est ce que c'est que "opt" (comme option ?) qui apparait dans le usf2 au niveau de "ne pas recopier" ?

Est-ce qu'il n'aurait pas été plus simple si juste après la recherche, lorsqu'on clique sur quitter cela n'ajoute rien et si on clique sur valider cela ajoute la ligne à l'année en cours (c'est à dire copier le code qu'il y a sur "recopier" pour l'appliquer sur le bouton "valider" ) sans avoir à repasser par le usf2 ? Peut-être que je dis une bêtise comme je n'y connais rien :eek: ?

Concernant la fiche je vais y jeter un oeil. En tout cas, merci énormément pour ce fichier ! Ca va vraiment nous faciliter la vie.

Puis-je encore abuser une dernière fois de votre temps en vous demandant si vous en avez le temps de me dire ce qui cloche dans mes formules dans l'onglet synthèse ? Car cela fausse tout les stats et le graphique :(

Merci

Yasmina
 

CHALET53

XLDnaute Barbatruc
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Re,

N'aurait-il pas été plus simple ...............
Si sûrement : il aurait fallu le prévoir dès la conception initiale. J'ai travaillé à l'économie en réutilisant tout ce qui avait été fait (notamment le Userform1 pour afficher les données lors d'une recherche fructueuse). Les boutons Valider et Quitter sont associés au userform1 avec des fonctionnalités bien précises qui était prévu pour ajout ou mise à jour ou quitter pour abandon

Lorsque par recherche (userform2), je trouve quelqu'un , je l'affiche (en appelant le userform1) : si je modifie des données, elles seront faites dans l'onglet concerné (2009 ou 2010). Si je fais Quitter, je sors du Userform1 et je retourne au userform2. Là, le choix de recopier (si l'année est inférieure à l'année en cours) est actif. Si l'option Recopier est prise, c'est par un copier coller de la ligne que je procède

Maintenant, je vais regarder ce que je peux faire pour la fiche synthèse

a+
 

CHALET53

XLDnaute Barbatruc
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Suite...

J'avais oublié Opt
En réalité, c'est optionbutton2 (nom VBA du bouton "ne pas recopier"). Il n'est pas entièrement apparent parce que la place que je lui ai réservée est trop petite.
Il en est de même pour le bouton "Recopier" qui s'appelle Optionbutton1 (on aperçoit un peu du O)

Pour comprendre, regarder le userform2 dans le code VBA

A suivre
 

yasminajm

XLDnaute Nouveau
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Juste une précision par rapport à l'onglet "synthèse" : Impossible de calculer la moyenne d'âge des hommes sur 2009 et 2010. Cela fonctionne pourtant bien pour les femmes mais pas pour les hommes, et je ne trouve pas l'erreur !! Idem pour le "Nombre Total d’ouvertures de droits" J'ai essayé diverses formules et rien n'y fait : s’il y a au moins une entrée dans les colonnes O,P,Q,R des onglets 2009 ou 2010, cela compte pour une seule ouverture de droits. Je peux « tricher » en comptant la colonne T mais si elle n’est pas complétée (je ne suis pas la seule à travailler dessus) cela risque de fausser le résultat.

Mille merci
 

yasminajm

XLDnaute Nouveau
Merci à vous

Chers Chalet75, KJIN et le forum,

Je n'ai pas eu le temps de me connecter aujourd'hui car en réunion une bonne partie de la journée et pour couronner le tout mon fils est un peu patraque. Il y a des jours comme cela...

Je me suis juste connectée rapidement maintenant pour vous remercier tous de votre aide précieuse et de votre implication pour une personne que vous ne connaissez même pas !

Chalet, je rebalance le fichier que tu m'as envoyé par mail ici demain ou jeudi au plus tard car demain j'ai une journée encore plus chargée au boulot !

Bonne nuit,


Yasmina :)
 

yasminajm

XLDnaute Nouveau
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Bonjour CHALET75, Kjin et le forum

Ci-joint le fichier que tu (Chalet) m'as envoyé par mail avec tous mes remerciements, que je remets à disposition du forum avec tes commentaires.

Deux problèmes relevés sur les moyennes :

1) Dans le fichier, dans la colonne Age de 2010, deux cellules n'étaient pas alimentées par formule (vérifiez-le avant d'ouvrir ce fichier) :je ne vois pas pourquoi ça pose problème.

2) Bien que la définition des plages Age2009, Sexe2009 et les autres soit exacte, la formule de calcul de la moyenne "déconne" : elle ne prend pas la première et la dernière ligne. Si le calcul concerne un sexe qui se trouve à l'intérieur des limites, c'est bon.

Il faut, et c'est important, valider la formule par : CTRL+MAJ+Entrée (simultanément)


Voici la formule que propose Kjin et qui résout le problème des moyennes :

=ARRONDI(SOMME.SI(INDIRECT("'"&B$2&"'!$F2:$F"&B$6+1);"F";INDIRECT("'"&B$2&"'!$E2:$E"&B$6+1))/B$4;1)

Je ne connaissais pas la fonction indirect, je vais l'étudier de plus près...
 

Pièces jointes

  • yasminajm_CHALET75.xls
    185 KB · Affichages: 105
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Formulaire intéractif de saisie de données et de consultation... très urgent, he

Bonjour Yasminajm et Kjin

J'ai vu la formule de kjin : je connaissais cette approche avec la fonction indirect. Bien vu.

Un petit correctif : c'est Chalet53 et non 75 (53 comme le département d'où je suis originaire et chalet parce que j'ai un petit truc à la montagne (d'où...ski cité plus haut)

a+
 

yasminajm

XLDnaute Nouveau
Re : suite du post précédent

Re,

J'ai ouvert ton fichier Kjin, il est parfait !! C'est exactement ce que je recherchais.

Par contre, dès que je clique sur recherche "par nom" ou "par n°" il y a un bug : cela me met "erreur d'execution 2009" et le code suivant est surligné en jaune :

Sub ChercheFiche(sText As String, Col As String)
Dim rWs As Worksheet, rLign As Long, rRng As Range, C As Range
Dim Adresse As String
Application.Cursor = xlWait
For Each rWs In ActiveWorkbook.Sheets
If rWs.Name Like "20*" Then
With rWs
rLign = .Range(Col & "65536").End(xlUp).Row
Set rRng = .Range(Col & "2:" & Col & rLign)
With rRng
Set C = .Find(sText, , xlPart)
If Not C Is Nothing Then
Adresse = C.Address
Do
With ListBox1
.AddItem rWs.Cells(C.Row, 1)
.List(.ListCount - 1, 1) = rWs.Cells(C.Row, 2)
.List(.ListCount - 1, 2) = rWs.Cells(C.Row, 3)
.List(.ListCount - 1, 3) = rWs.Name
.List(.ListCount - 1, 4) = C.Row
End With
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With
End With
End If
Next
Set C = Nothing
Application.Cursor = xlDefault


Concernant les formules dans la fiche synthèse : tout est bon, j'ai complété celles qui manquaient sauf toujours la fameuse "total ouverture de droits" qui n'est pas une somme des cellules au dessus, mais plutôt :

s’il y a au moins une entrée sur la même ligne, dans les colonnes O,P,Q,R des onglets 2009 ou 2010, cela compte pour une seule ouverture de droits. Je ne sais pas si je suis assez claire dans ma formulation ?

Je ne vous remercierai jamais assez tous deux pour vos fichiers qui vont vraiment me permettre de gagner du temps !! De plus le fait d'avoir deux approches différentes, va me permettre de comparer les codes et d'essayer d'y voir plus clair :d

@ plus tard,


Yasmina
 

Pièces jointes

  • yasmina_kjin.xls
    162 KB · Affichages: 124

Discussions similaires

Statistiques des forums

Discussions
312 213
Messages
2 086 307
Membres
103 174
dernier inscrit
OBUTT