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

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+

Oups désolée, je m'étais bien doutée de la relation entre le chalet et le ski, mais va savoir pourquoi je lisais 75 au lieu de 53 à chaque fois !:D

Merci pour ton fichier il est vraiment très bien également. J'espère arriver à faire quelquechose comme cela un jour ! D'ailleurs, ce week-end si mon fils me laisse le temps (il déteste lorsque je suis devant l'ordinateur), je vais étudier un dvd fait par Gaetan Mourmant (Polykromy) qui explique le vba pas à pas :)
 

CHALET53

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

Re et à tous les forumeurs

Très bonne idée (j'ai commencé de la même manière): attention de ne pas avoir mal à la tête
Concernant le fiston, il doit encore faire la sieste. Si j'ai passé cet âge, j'ai la grande joie d'avoir une petite fille de 2 ans 1/2 que nous avons gardé pendant 12 jours à la montagne.
Je pourrai le faire de plus en plus, j'annonce aux forumeurs que demain matin, j'inaugure une nouvelle mission : la retraite
C'est dire que c'est toujours avec plaisir que je passe sur ce site, et dès que je le sens, j'apporte ma modeste contribution (histoire de faire fonctionner les neurones) entre deux voyages sur le sommet des cimes (avec les skis à la saison)

A+
 

yasminajm

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

Bonjour Chalet53, Kjin et tout le monde,

Quelle mission bien sympathique tu inaugures là, surtout si cela te permet de profiter de ta petite fille plus souvent !

Mon fils est un peu plus jeune, il vient d'avoir 20 mois. Pour les siestes, cela dépend des jours. Je le mets dans son lit et parfois il peut faire la java pendant 2 heures sans dormir alors qu'il est fatigué. Par contre, c'est vraiment un moment magique de l'entendre dire de nouveaux mots chaque jour, il y a aussi les premières "révoltes" (tout de suite beaucoup moins drôle) :eek:, les premières imitations (les intonations de voix, les phrases, les mimiques et il imite même d'autres enfants), bref on ne s'ennuye pas.

En revanche, il est de plus en plus difficile pour moi de travailler à la maison, il ne le supporte vraiment pas, alors que son père lui, peut travailler sur l'ordinateur sans qu'il ne dise rien ! Si je m'installe devant l'ordi, il vient me prendre par la main, et me fait m'asseoir à côté de lui avec ses jouets :d

Pour le mal de tête, je m'y suis déjà préparée. Mais comme je suis vraiment très très motivée, j'ai hâte de pouvoir m'y mettre sérieusement :d

La retraite, est-ce un poisson d'avril ? :p

Plus sérieusement, bonne journée

Yasmina
 

yasminajm

XLDnaute Nouveau
Re : Erreur d'exécution 09

Bonsoir le forum,

Quelqu'un serait-il dispo pour m'aider à résoudre ces 2 petits problèmes s'il vous plait ? (bug lors de la recherche sur le userform et une formule excel : je ne sais pas quelle formule utiliser c'est bien là le souci) ? Le fichier est dans mon message ci-dessous. Merci d'avance de votre aide et très bonne nuit

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


Citation:
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, 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 ?
 

CHALET53

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

Bonjour Yansminajm, Kjin,...

Non, ce n'est pas un poisson d'Avril.
Concernant le bug sur le fichier de Kjin, j'ai le même et en plus je suis obligé de tout fermer pour m'en tirer.
S'il ne revient pas sur ce post, je vais creuser (je ne connais pas toute la syntaxe utilisée).
Je vais creuser le dernier point. Pour l'instant, il fait beau et il a neigé, aussi, nous partons vers les cimes chaussés de nos skis
A part cela, je vois que le petit prend (un petit ascendant sur maman!!!!)
Bon Week end sur VBA

A suivre...
 

kjin

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

Bonjour,
Bien que je n'observe pas le bug signalé, il y a effectivement une petite erreur de virgule :
Code:
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
Me.MousePointer = fmMousePointerHourGlass
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, , [COLOR="Red"][B],[/B][/COLOR] 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
Set rRng = Nothing
Me.MousePointer = fmMousePointerDefault

End Sub
A noté qu' avec "xlPart", la recherche renverra tout les items contenant le texte saisi ("m" renverra "Martin", "Dumas", 01M2010...); s'il on veut rechercher des valeurs précises, il faut remplacer "xlPart" par xlWhole".
Pour la formule, j'ai ajouter une colonne supplémentaire (AC) qui indique 1 si des droits sont ouverts, sinon 0.Cette colonne est renseignée par macro lors de la saisie, il n'y a donc rien à faire de plus, il faut juste modifier la procédure ci après
Code:
Sub Transfert(vLign As Long)
Dim i As Byte, Droits As Byte
Droits = 0
With ActiveSheet
    .Unprotect
    .Cells(vLign, 1) = CLng(Label2)
    .Cells(vLign, 2) = UCase(TextBox1)
    .Cells(vLign, 3) = Application.Proper(TextBox2)
    If IsDate(TextBox3) Then .Cells(vLign, 4) = CDate(TextBox3) Else: .Cells(vLign, 4) = ""
    If IsDate(TextBox3) Then .Cells(vLign, 5) = CLng(TextBox4) Else: .Cells(vLign, 5) = ""
    .Cells(vLign, 6) = ComboBox1
    .Cells(vLign, 7) = UCase(TextBox5)
    If IsDate(TextBox6) Then .Cells(vLign, 8) = CDate(TextBox6) Else: .Cells(vLign, 8) = ""
    .Cells(vLign, 9) = ComboBox2
    .Cells(vLign, 10) = ComboBox3
    .Cells(vLign, 11) = ComboBox4
    .Cells(vLign, 12) = ComboBox5
    .Cells(vLign, 13) = TextBox7
    .Cells(vLign, 14) = TextBox8
    For i = 1 To 5
        If Controls("CheckBox" & i) Then
            .Cells(vLign, i + 14) = 1
            Droits = 1 '<--------
        Else
            .Cells(vLign, i + 14) = ""
        End If
    Next
    If IsDate(TextBox9) Then .Cells(vLign, 20) = CDate(TextBox9) Else: .Cells(vLign, 20) = ""
    If IsDate(TextBox10) Then .Cells(vLign, 21) = CDate(TextBox10) Else: .Cells(vLign, 21) = ""
    .Cells(vLign, 22) = ComboBox10
    .Cells(vLign, 23) = ComboBox11
    If IsDate(TextBox11) Then .Cells(vLign, 24) = CDate(TextBox11) Else: .Cells(vLign, 22) = ""
    .Cells(vLign, 25) = ComboBox6
    .Cells(vLign, 26) = ComboBox7
    .Cells(vLign, 27) = ComboBox8
    .Cells(vLign, 28) = ComboBox9
    .Cells(vLign, 29) = Droits
    .Protect
End With

End Sub
Le fichier en PJ ne contient que les modif à effectuer, notamment les 2 procédures ci dessus
A+
kjin
 

Pièces jointes

  • yasmina_kjin-3.zip
    25.8 KB · Affichages: 82

yasminajm

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

Bonsoir Chalet53, Kjin et le forum.


Je me suis fait une frayeur tout à l'heure en ouvrant le fichier, car le calendrier restait toujours visible, suite bien entendu, à une fausse manip de ma part :rolleyes: comme d'habitude ! Je ne sais pas comment j'ai réussi à le masquer à nouveau (Pourrais-tu m'expliquer comment on fait pour l'afficher/le masquer si jamais par hasard cela m'arrivait à nouveau dans le futur, que je puisse me débrouiller toute seule : ce n'est pas dans propriété "visible : true" ?). Merci pour l'explication de "xlPart" et "xlWhole", vraiment très très pratique à savoir ;-)

Bref le boulet :)o) que je suis a encore une modification à faire au niveau de la macro qui compte les droits ouverts car il ne faut pas compter la colonne mutuelle (colonne S) mais uniquement les colonnes O, P, Q et R. Allez je me lance : serait-ce For i = 1 To 5 qu'il faut transformer en For i = 1 To 4 dans la macro ? Dans le doute, je préfère te poser la question quitte à passer (une fois de plus) pour une andouille.

Enfin, existe-t-il une sorte de récap de toutes les checkbox, textbox, combobox... présentes dans un formulaire pour savoir à quoi cela correspond, sans avoir à cliquer à chaque fois sur l'objet concerné ? ex pour ce formulaire : checkbox5 correspond à MUT (mutuelle) etc.

Une fois que j'aurais la modif de la macro je rebalancerai le fichier ici pour que d'autres en profitent.

La mission que je me suis confiée ces jours-ci, c'est d'essayer de m'entraîner à créér (toute seule sans votre aide) un menu d'accueil lorsque l'on ouvre ce fichier. Je vous tiendrais au courant de mes progrès (cela promet :d:d)

Merci beaucoup, et bon week end de Pâques à tous.

Yasmina


P.S : où puis je trouver la macro du bouton qui se trouve sur la feuille 2010 ?
 
Dernière édition:

kjin

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

Bonsoir,
Je crois que tu oublies l'essentiel, à savoir que tu ne précises aucunement si les modifications proposées sont fonctionnelles (chez moi aucun pb je rappelle)
Je me suis fait une frayeur tout à l'heure en ouvrant le fichier...
Comme je l'avais précisé, le fichier précédent ne dois pas être utilisé tel quel !
Allez je me lance : serait-ce For i = 1 To 5 qu'il faut transformer en For i = 1 To 4
On testerais effectivement les checkbox1 à 4 mais dans le cas présent se n'est pas possible de cette manière.Vois la modif dans le fichier en PJ
Enfin, existe-t-il une sorte de récap de toutes les checkbox, textbox, combobox...
Je n'en vois pas l'utilité une fois le fichier fonctionnel, maintenant rien ne t'empêche de renommer tous les contrôles, mais il faudra reprendre tout le projet pour intégrer ces noms !
P.S : où puis je trouver la macro du bouton qui se trouve sur la feuille 2010
Dans le module1
En PJ le fichier complet cette fois
A+
kjin
 

Pièces jointes

  • yasmina_V3.zip
    39.1 KB · Affichages: 121

yasminajm

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

Rebonsoir, excuse moi tu as raison tout fonctionne nickel ce fichier est vraiment parfait Au delà même de mes espérances !!

j avais bien compris qu il n'était pas complet sauf qu'après avoir colle les nouveaux codes sur l'ancien fichier j ai fait une fausse manip et le usf s ouvrait avec le calendrier visible. Comment éviter cela par la suite ?

Concernant la macro je la regarderais demain car la je te répond de mon tel portable donc impossible de la voir.

Quant au récap, je parlais de manière générale et non pour ce fichier précis.

peux tu m'expliquer pourquoi dans ce cas, la modif sur le # de checkbox ne fonctionnerait pas ?

Enfin, si je déplace des colonnes cela aura-il une incidence sur les macros ? J'imagine que non mais je préfère tt de même te poser la question.

J'attends de recevoir ta réponse avant de clôturer définitivement ce post.

Merci encore pour votre patience vos conseils et l aide précieuse que chalet et toi m avez apportée.

Merci a chalet et toi pour ce super travail.bonne nuit a tous
 

ChTi160

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

Salut
bonjour le fil
Bonjour le Forum
Histoire de saluer Kjin et le remercier pour ce joli travail .
j'ai pris pour prétexte lol , la proposition de modification de la procédure suivante (voir en Bleu)
Code:
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
Me.MousePointer = fmMousePointerHourGlass
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([COLOR=Blue]sText & "*"[/COLOR], , , xlWhole) [COLOR=DarkGreen]'permet la recherche _
                       'de noms dont on ne connait pas forcément l'orthographe _
                      , la première lettre suffit[/COLOR]
                If Not C Is Nothing Then
Encore merci à Kjin
Bonne journée
 

kjin

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

Bonjour,
Merci Jean-Marie :), tes interventions (comme toutes les autres) sont toujours bienvenues et de prétexte nul besoin ;)
...j ai fait une fausse manip et le usf s ouvrait avec le calendrier visible. Comment éviter cela par la suite ?
Le calendrier est masqué à l'ouverture du formulaire, donc difficile de comprendre la mauvaise manip en question, il faudrait préciser ce que tu as fait
Quant au récap, je parlais de manière générale et non pour ce fichier précis.
Dans la mesure où les contrôles ne portent pas de noms significatifs, ça ne servirait à rien dans le cas présent, mais cela reste possible.
peux tu m'expliquer pourquoi dans ce cas, la modif sur le # de checkbox ne fonctionnerait pas ?
La boucle porte sur les 5 checkbox pour valider leur cellule respective. Il faudrait une boucle supplémentaire sur les 4 premiers pour tester leur état, autant tester la somme de leur valeur comme je l'ai fait
Enfin, si je déplace des colonnes cela aura-il une incidence sur les macros ? J'imagine que non mais je préfère tt de même te poser la question.
:eek: Surtout pas, à moins que tu saches modifier les procédures et les formules !!! L'usage du VBA, implique de bien réfléchir l'architecture du projet au départ et de maitriser le language afin le faire évoluer ou de le modifier par la suite.
Mais on commence tous un jour...alors courage
A+
kjin
 
Dernière édition:

yasminajm

XLDnaute Nouveau
Merci à tous :) Ce post est fermé, car mon problème a été résolu

Hello Kjin, Chalet (qui doit être en train de skier), ChTi160, le forum et aux créateurs de ce site,

Merci encore pour ce travail magnifique, et pour vos encouragements... Cela ne me motive que d'avantage pour progresser (et il ya du boulot).

Ce post est définitivement fermé puisque j'ai eu la solution à mon fichier très complexe. S'il peut être utile à d'autres personnes travaillant dans le médical avec l'accord de Kjin et Chalet bien sûr...

ET bonne fin de week-end de Pâques à vous tous.

Bises,


Yasmina
 

CHALET53

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

Bonjour à vous tous,

Skier à 1 h 35 : quand même pas.
Pour ce qui est de l'utilisation du travail fourni : par principe, ce forum est accessible à tous, il me semble. Donc pas de souci
Bon courage

Il est 8 h 15 : je me prépare pour aller faire du ski (beau temps annoncé aujourd'hui et demain)

Bye
 

yasminajm

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

Bonjour tout le monde,


Je sais j'avais dit que ce post était fermé :eek:, mais c'était sans compter sur la miss catastrophe que je suis : j'ai fait une bourde sur le fichier et je n'arrive pas à m'en dépêtrer... J'ai voulu modifier la mise en forme de l'usf, rajouter le logo de la société, augmenter le cadre de l'usf et du coup maintenant lorsque l'on clique sur une date le calendrier n'apparaît qu'à moitié. Comment faire pour qu'il réapparaisse entièrement à nouveau... Il suffit de reprendre le fichier non modifié me direz-vous, sauf que j'ai presque fini de le compléter et cela voudrait dire tout recommencer à zéro.:confused: Vous voyez mon dilemme ? Sans compter qu'il faut que je sache le faire pour ne pas avoir à vous embêter à chaque mauvaise manip de ma part. Par ailleurs parfois, quand je redimensionne des frames, elles disparaissent !? Quelle est la manip pour faire réapparaître tout cela ? Merci de votre réponse.

Yasmina
 

kjin

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

Bonsoir,
Si tu redimensionnes les cadres je te conseille d'augmenter la taille du USF et de déplacer auparavant les contrôles qui pourraient se chevaucher. Si 2 frames se chevauchent et que l'une d'elle disparait c'est qu'elle est inclue dans l'autre, utilise dans ce cas les propriétés top et left pour la réafficher dans un espace vide du formulaire, tu pourras la déplacer ensuite.
Même topo pour le calendrier, que je n'avais pas positionné au hasard et pour cause
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 217
Messages
2 086 352
Membres
103 195
dernier inscrit
martel.jg