creer formulaire de saisie

melba

XLDnaute Occasionnel
Bonjour,

Pourriez-vous m'indiquer comment on accède aux formulaires et surtout est-ce avec des codes qu'on les fait fonctionner?
Parce que là je vais forcément être bloquée car je ne connais pas VBA.
En faisant des recherches sur le forum j'ai découvert le fichier de Phlaurent qui semble correspondre à ce que je souhaite faire.
Le petit calendrier inclus dans le fichier est épatant. J'aimerais beaucoup savoir faire ça. Pouvez vous m'en dire plus?
Je joins un petit fichier explicatif de ce que je tente de faire et sur la 2ème feuille le fichier de Phlaurent.
Un formulaire aurait il son intérêt ou vaut il mieux que je procède de façon plus classique?
La finalité est de pouvoir extraire en fin de mois les montants à affecter à chaque "responsable" et d'en faire le total. Le suivi est rempli tous les jours ou en tout cas chaque acte est à renseigner pour le jour concerné.
Merci beaucoup par avance pour votre aide.
 

Pièces jointes

  • Test nanou.xls
    62.5 KB · Affichages: 377
  • Test nanou.xls
    62.5 KB · Affichages: 418
  • Test nanou.xls
    62.5 KB · Affichages: 402

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonjour,

Après mon post hier j'ai cherché sur le site et j'ai découvert le tutoriel de silky road qui était recommandé. Je suis allée voir et je pense qu'il va me falloir des heures pour assimiler tout cela.

Merci
 

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonjour,

A l'aide du tutoriel de silky road je fais mes premiers pas dans la création d'un useform.
J'ai réussi à créer l'useform mais le chemin est encore long avant qu'il fonctionne.

Déjà je ne sais pas où mettre le code que j'ai relevé pour afficher la boîte de dialogue:

"Pour afficher la boite de dialogue par macro, utilisez:

Vba
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub "

Après avoir tenté de créer une macro sans succès j'ai fait un clic droit sur mon useform/ code / j'ai collé le code.
Sur ma feuille j'ai ensuite insérer un bouton contrôle de formulaire pensant lui affecter ma macro , mais rien, pas la main.
Pouvez-vous m'aider?
Merci par avance.
@+
 
C

Compte Supprimé 979

Guest
Re : creer formulaire de saisie

Salut

Allez, avec le VBA, il faut avoir de la patience ... Paris ne c'est pas fait en un jour
En plus il faut avoir la pèche ..... melba ... hihihi

Ce code
Code:
Private Sub CommandButton1_Click()
    UserForm1.Show
End Sub
est justement à mettre dans ta feuille

Le principe :
- dans un USF, une feuille, tu mets le code propre à ceux-ci (ne pouvant être utilisé ailleurs)
- dans un module, tu mets tout le code que tu veux accessible (à condition de ne pas le déclarer : PRIVATE)

A+
 

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonsoir,

Enfin une âme charitable !
Merci Jean Marcel parce que BrunoM45 m'a fait mesurer l'étendue de mon ignorance. J'ai encore regardé le tutoriel mais rien à faire , je n'ai pas pu coller les codes que j'avais copiés et je suis au regret de dire que pour une novice comme moi , les explications de BrunoM45 ne m'ont pas beaucoup fait avancer :

"Le principe :
- dans un USF, une feuille, tu mets le code propre à ceux-ci (ne pouvant être utilisé ailleurs)
- dans un module, tu mets tout le code que tu veux accessible (à condition de ne pas le déclarer : PRIVATE)".

J'ai regardé votre fichier et çà correspond tout à fait à ce que je voulais. Malheureusement, j'ai fait un essai et j'ai un message " erreur d'exécution 13", incompatibilité de type?

Comment avez vous mis le calendrier?
Est ce qu'une débutante comme mois pourrait crée ce genre de useform ?
Puis je modifier les données dans les colonnes de référence (m,o, q etc ) sans que ça n'altère l'useform?
Merci pour vos éclaircissements.
@+
 
C

Compte Supprimé 979

Guest
Re : creer formulaire de saisie

Bonsoir Melba,

Merci Jean Marcel parce que BrunoM45 m'a fait mesurer l'étendue de mon ignorance
Désolé, je n'en avais pas l'intention ... quoique :)

J'ai encore regardé le tutoriel mais rien à faire , je n'ai pas pu coller les codes que j'avais copiés et je suis au regret de dire que pour une novice comme moi , les explications de BrunoM45 ne m'ont pas beaucoup fait avancer
Je voulais simplement te montrer,
que vouloir utiliser un USF pour une saisie qui peut ce faire à la main,
sans avoir de connaissance dans le VBA ...
c'est comme essayer de conduire une ferrari quand on a 5 ans

Est ce qu'une débutante comme moi(s) pourrait créer(ée) ce genre de useform ?
Tout le monde peut le faire, à condition d'avoir de la patience et de la ténacité
et de lire un minimum de choses à ce sujet :rolleyes:

A tchao
 

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonjour,

Je vois que Bruno n'a pas perdu sa verve mais bon j'ai compris la leçon.
Je vais peut-être continuer à élaborer mon suivi sans passer par un useform pour le moment.
Merci quand même à Jean-Marcel pour son fichier.

(Voici la ligne en jaune qui fait planter le programme.
.Cells(derligne, 5).Value = CInt(Me.ComboDC) ).

Sinon j'ai déjà fait quelques macros très simples et sans doute très limitées tel que vider un suivi etc, des opérations très basiques et à cette occasion j'ai eu un aperçu du langage codé.
Mais Bruno m'a tellement vexée que regardez ce que je viens de faire.
(voir fichier joint).
Je sais j'ai un peu cafouillé en faisant ma macro notamment pour l'impression mais je corrigerai.
Là où ça va peut-être se corser c'est que après avoir fait la même chose pour LEROY, je voudrais lorsque je change de jour, faire en sorte que sur une commande de ma part ( par exemple :"SAUVEGARDER" , ce que j'ai saisi la veille aille se mettre sur la feuille PRINCE ou LEROY et donc que les lignes s'inscrivent les unes à la suite des autres sur la feuille concernée au fur et à mesure.
Pouvez vous me donner une piste pour cela? Je ne vous demande pas de le faire à ma place mais par exemple existe t il une formule ( incrémentation?) pour faire de genre de chose?
Par ailleurs j'ai bien noté ce que Jean Marcel m'a indiqué concernant l'active x calendrier , je suis allée dans les outils/autres mais je ne sais pas lequel prendre. Ce serait mon petit caprice, j'aimerais bien en avoir un.
Merci par avance
 

Pièces jointes

  • essai nanou 4.xls
    51.5 KB · Affichages: 171
C

Compte Supprimé 979

Guest
Re : creer formulaire de saisie

Bonsoir ma chère pèche ... heuuuu ... ma chère Melba ;)

Pour te montrer que je ne suis pas forcément celui que tu crois
aie.gif
,
voici ton fichier avec un USF calendrier et le code de sauvegarde

A+
 

Pièces jointes

  • Melba_EssaiNanou4.xls
    69.5 KB · Affichages: 213
Dernière modification par un modérateur:

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonsoir,

Merveilleux le petit calendrier, j'adore..... donc me voilà réconciliée.
Mais revenons aux choses sérieuses, la commande "Sauvegarde" avait de bonnes prétentions mais a très vite buggué(?) là dessus :
.Range("A" & Lig & ":L" & Lig).clearconyents.
( même Bruno peut se tromper).
Sur la feuille concernée je n'ai qu'une seule ligne sauvegardée. D'ailleurs je me rends compte qu'il va y avoir un hic : si j'appuie 2 fois sur "Sauvegarder" par erreur, je copierai 2 fois . A moins ensuite de rechercher les doublons sur la feuille je risque d'avoir des erreurs quand je voudrai faire le total mensuel.
Tu m'as montré avec quel brio et quelle réactivité tu savais écrire ces codes, s'agit-il d'une macro pour la sauvegarde , si non comment est ce que je peux différencier ce qui est écrit à partir d'une macro faite à partir de l'enregistreur ou autrement? S'il s'agit d'un code que tu as écrit l'ennui c'est que je ne pourrai jamais le faire.
Existe t il une formule excel pour arriver au résultat que je souhaite et qui serait peut être plus compréhensible pour moi?
Merci quand même d'avoir daigné m'éclairer un peu et aller jusqu'à m'accorder ce petit calendrier.
@+

En fait je devrais inclure dans mon action de sauvegarde le vidage de ma feuille de saisie, je résoudrais ainsi mon problème de copie multiple des mêmes données et en plus ma feuille de saisie se trouverait vierge pour le jour suivant.
@+
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : creer formulaire de saisie

Re,

Désolé, modification de dernière minute
il faut remplacer la ligne par celle-ci
Code:
.Range("A" & Lig & ":L" & Lig).ClearContents

Désolé pour toi, je n'ai plus vraiment besoin de l'enregistreur de macro

En fait je devrais inclure dans mon action de sauvegarde le vidage de ma feuille de saisie, je résoudrais ainsi mon problème de copie multiple des mêmes données et en plus ma feuille de saisie se trouverait vierge pour le jour suivant.
C'est ce qui sera fait en remplaçant la ligne citée ci-dessus ;)

Le fichier a été modifié

A+
 

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonjour,

Je vous remercie pour vos efforts à tous.
Je pense que je vais m'efforcer pour le moment de faire mon suivi avec des macros pour une familiarisation en douceur des codes.
Ma seule fantaisie sera d'insérer le petit calendrier alors si vous pouviez me dire où récupérer l'activex ( j'ai regardé dans le développeur /insérer activex / autres. Mais ensuite je ne sais pas quoi prendre. J'ai bien vu en visualisant le code un nom ALLCALENDRIER. C'est ça que je dois trouver? J'aimerais pouvoir le faire toute seule.

J'ai regardé cependant le fichier de Bruno et j'ai ce bug :
Set ShtD = Sheets(Trim(.Range("K" & Lig).Value)).
Je vous tiendrai au courant pour mes macros.
Merci encore
@+
 
C

Compte Supprimé 979

Guest
Re : creer formulaire de saisie

Bonjour Melba

La ligne en question récupère le nom de la feuille dans la colonne K de la ligne en cours
Code:
.Range("K" & Lig).Value
Supprime les espaces avant et après : Trim()
Et définit la feuille de travail comme étant celle-ci
Code:
Set ShtD = Sheets(...)
Si la feuille du nom récupéré, n'existe pas, effectivement il y'a une erreur ;)

A+
 

melba

XLDnaute Occasionnel
Re : creer formulaire de saisie

Bonsoir,

Je vous sollicite à nouveau et toujours pour le même fichier. J'ai réussi à créer les macros qui me permettent de filtrer et éditer les éléments que je voulais mais maintenant je voudrais les archiver.
Je consulte le forum depuis un moment et j'ai regardé pas mal de formules matricielles, j'ai l'impression qu'elles pourraient m'aider.
Sinon j'ai trouvé dans un fichier traitant de l'archivage ce code qui semble si je pouvais l'adapter à mon suivi correspondre à ce que je recherche:
Sub Archive()

Dim L As Integer

With Sheets("Archive")
L = .Range("A65536").End(xlUp).Row + 1
.Cells(L, 1) = Range("facture!B17") 'n°
.Cells(L, 2) = Range("facture!A34") 'date
.Cells(L, 2).NumberFormat = "dd/mm/yyyy" 'format
.Cells(L, 3) = Range("facture!C20") 'nom
.Cells(L, 4) = Range("facture!C21") 'adresse
.Cells(L, 5) = Range("facture!C22") 'ville
.Cells(L, 6) = Range("facture!B26") 'objet

End With

Range("facture!B17") = Range("facture!B17") + 1 'n° facture
'efface facture
Range("facture!B26") = ""
Range("facture!C20") = ""
End Sub

A QUOI correspond L?
Merci encore une fois pour votre aide

( j'ai trouvé un petit calendrier dans les activex mais je ne sais pas encore le faire fonctionner)

@+
 

Pièces jointes

  • nanoutest5.xlsx
    13.3 KB · Affichages: 68
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 184
Messages
2 086 007
Membres
103 088
dernier inscrit
Psodam