Aide sur Formulaire de saisie

Schom

XLDnaute Nouveau
Bonjour :)

Je vais essayer d'être clair, précis et tenter de vous interesser à mon probleme.

Pour faire simple, j'organise des formations.

Je souhaite utiliser une seule et même feuille pour noter, à la suite, les formations mises en places. Sous l'intitulé de chaque formation, une zone de 15 lignes vierges pour noter le noms des participants (avec divers informations dans les colonnes comme le nom de l'entreprise, celui du stagiaire, de la ville d'origine, etc).

J'ai fait péter un formulaire de saisie (qui s'ouvre à l'aide d'un bouton créé devant l'intitulé de la formation), genre :

Private Sub boutonAnnuler_Click()
Unload Me
End Sub

Private Sub boutonValider_Click()

If txtNomEntreprise = "" Then
MsgBox "Vous devez entrer un nom d'entreprise."
txtNomEntreprise.SetFocus
Exit Sub
End If

If txtVille = "" Then
MsgBox "Vous devez entrer un nom de ville."
txtVille.SetFocus
Exit Sub
End If

Range(Range("H11"), Range("H26")).End(xlUp).Offset(1, 0).Value = txtNomEntreprise
Range(Range("I11"), Range("I26")).End(xlUp).Offset(1, 0).Value = txtNomStagiaire
Range(Range("K11"), Range("K26")).End(xlUp).Offset(1, 0).Value = txtVille
Unload Me
End Sub

Private Sub txtNomStagiaire_Change()
End Sub

Private Sub UserForm_Click()
End Sub

Comme vous pouvez le voir, la première colonne à remplir est la H. Et le premier espace vierge à remplir de ma première formation va de la ligne 11 à 26 (15 lignes soit 15 participants max).

Le probleme : il remplit bien la colonne H mais pas du tout de la ligne 11 à 26... Donc, où est mon erreur ?


Je me permets de faire une requete supplémentaire :

Avec ce systeme, il va falloir que je recréé systématiquement un useform propre à la zone vierge à remplir. Il y a t'il possibilité de créer une cellule cliquable (au début de chaque intitulé de formation) qui fera emmerger un useform qui prendra en considération comme début de zone à remplir, l'emplacement même de la cellule cliquée ?

Quoiqu'il en soit, si vous êtes arrivé jusqu'içi, je vous remercie de m'avoir lu et j'espère vous avoir interessé à mon cas :p
 

tototiti2008

XLDnaute Barbatruc
Re : Aide sur Formulaire de saisie

Bonjour Schom,

pas facile sans fichier...

que souhaite tu faire précisément avec la ligne :

Range(Range("H11"), Range("H26")).End(xlUp).Offset(1, 0).Value = txtNomEntreprise

?

Explique et on pourra te mettre sur la voie.

Pour les boutons multiples ouvrant le même userform, je pense que c'est possible de repérer la position du bouton appelant mais il faudrait que je refouille... mais pas ce soir, je rentre, là :)
à bientôt
 

Schom

XLDnaute Nouveau
Re : Aide sur Formulaire de saisie

Merci pour ton interet tototiti2008 :)

Cette ligne sert justement à repérer la zone à remplir (ligne 11 à 26) en checkant la première ligne vide pour caler le nouveau participant à la formation. Le tableau s'articulera comme suit :

Colonne :
A__________B__________________________C_______________D
INTITULE DE LA FORMATION
_________ETS DUPONT_______________Michel DUPONT________Paris
_________ETS DURANT________________Léo DURANT_________Madrid

et ainsi de suite avec 15 participants max.

txtNomEntreprise, txtNomParticipant, txtVille sont les noms des champs à remplir dans le userform.

Avec cette formule, je lui dis (enfin, j'essaie...) de mettre le nom de l'entreprise renseigné dans le formulaire de saisie dans la colonne H (heu..., pas comme dans mon exemple de tableau ci dessus) de la première ligne non remplie à partir de la ligne 11.

Bonne soirée à toi :)
 

Schom

XLDnaute Nouveau
Re : Aide sur Formulaire de saisie

Je me doute que c'est pas simple sans fichier exemple, donc en voilà un. J'espère qu'il est suffisamment explicite :eek:
 

Pièces jointes

  • Tableau Etat Stagiaire.zip
    24.6 KB · Affichages: 54
Dernière édition:

Schom

XLDnaute Nouveau
Re : Aide sur Formulaire de saisie

J'ai un peu peur de paraitre insistant, mais je fais un dernier Up, parce que je ne trouve toujours pas :( . J'ai bien trouvé ça, mais je bloque vraiment pour l'adapter à mon cas. C'est pas la position d'un seul bouton identifié qu'il me faut, mais la position du bouton qui a appelé le userform :

Private Sub CommandButton1_Click()
X = Cells(1, 1).Width
colonne = 1
While X < CommandButton1.Left
colonne = colonne + 1
X = X + Cells(1, colonne).Width
Wend
Y = Cells(1, 1).Height
ligne = 1
While Y < CommandButton1.Top
ligne = ligne + 1
Y = Y + Cells(ligne, 1).Height
Wend
MsgBox "La cellul est : cells(" & ligne & "," & colonne & ")"
End Sub

Après, promis, j'arrête les Up. Je sais que ça peut etre agaçant...
En tout cas, merci pour ceux qui ont pris la peine de me lire :)
 

Schom

XLDnaute Nouveau
Re : Aide sur Formulaire de saisie

Bonjour à tous

Coooooooool :)

Vraiment sympa pour ce coup de main qui m'a bien fait avancer.

J'ai malgés tout un souci. Pourriez vous jeter un coup d'oeil au fichier "Test Sélection" ?

Je me suis inspiré de la solution de tititoto2008, qui avaient l'air de fonctionner.

Pour rappelle, je souhaite qu'il identifie et qu'il sélectionne la cellule sur laquelle est posé le bouton qui appelle le UserForm.

Le problème : chaque bouton créé s'attribue par défaut un nom avec un numéro ("bouton 1", "bouton 2", etc.). Je dois en créé autant qu'il y a de formations (j'y attribut à chaque fois la même macro). Mais une fois arrivé sur le numéro de bouton par défaut "10", plus rien ne va. Il ne prend en compte que le "0" pour le "10", que le "2" pour le "12", le "3" pour le "13", etc.

Du coup, il me fait un bug sur les dizaines ("10", "20", etc) car il n'y a pas de bouton "0", et me sélectionne le TopLeftCell du "Bouton 2" pour le "Bouton 12", le TopLeftCell du "Bouton 3" pour le "Bouton 13" et ainsi de suite.

Est-il possible de remédier à ce problème ?



Il me restera à franchir une étape sur laquelle je bloque.
Confère le fichier "Saisie Stagiaire"

Soit cette ligne :

Range("H65536").End(xlUp).Offset(1, 0).Value = txtNomEntreprise

txtNomEntreprise est le premier champs à remplir sur le UserForm. Cette fonction me reporte sa valeur sur la première ligne disponible (non remplie) qu'il trouve sur la colonne H.

Je souhaite qu'il ne scanne qu'à partir de la ligne sur laquelle est positionné la cellule sélectionnée en cours. Et si possible, qu'il arrete son scanne au bout de 15 lignes.

Les autres champs à reporter devront se positionner, eux, sur la même ligne que celle qui vient d'être remplie avec le txtNomEntreprise (et non pas la première ligne disponible d'une autre colonne).

Désolé si je ne suis pas trés clair.

J'espère ne pas trop en demander. Ne croyez pas que je vous demande de l'aide et tout vous laisser faire. J'ai passé une bonne partie de la nuit dessus et j'avoue que je commence à m'emmêler un peu les pinceaux :eek: .

Merci de votre aide.
 

Pièces jointes

  • Saisie Stagiaire.zip
    25.8 KB · Affichages: 29
  • Saisie Stagiaire.zip
    25.8 KB · Affichages: 29
  • Saisie Stagiaire.zip
    25.8 KB · Affichages: 28
  • Test Sélection.zip
    18.2 KB · Affichages: 33

Schom

XLDnaute Nouveau
Re : Aide sur Formulaire de saisie

OOooops !!! :eek:

Ben, pour la première partie de mon problème, c'est résolu. C'était simplement la fonction "Right" qui était paramétrée pour ne recevoir que des valeurs qu'à un seul chiffre. Je l'ai étendu à 2 chiffre, est ça roule (par contre, bizarement, il n'accepte pas que je l'étende à 3 chiffres... bref, on en est pas encore là :p)

Par contre, la seconde partie de ma requète est toujours valable. Soit :

Il me restera à franchir une étape sur laquelle je bloque.
Confère le fichier "Saisie Stagiaire"

Soit cette ligne :

Citation:
Range("H65536").End(xlUp).Offset(1, 0).Value = txtNomEntreprise
txtNomEntreprise est le premier champs à remplir sur le UserForm. Cette fonction me reporte sa valeur sur la première ligne disponible (non remplie) qu'il trouve sur la colonne H.

Je souhaite qu'il ne scanne qu'à partir de la ligne sur laquelle est positionné la cellule sélectionnée en cours. Et si possible, qu'il arrete son scanne au bout de 15 lignes.

Les autres champs à reporter devront se positionner, eux, sur la même ligne que celle qui vient d'être remplie avec le txtNomEntreprise (et non pas la première ligne disponible d'une autre colonne).

Désolé si je ne suis pas trés clair.

J'espère ne pas trop en demander. Ne croyez pas que je vous demande de l'aide et tout vous laisser faire. J'ai passé une bonne partie de la nuit dessus et j'avoue que je commence à m'emmêler un peu les pinceaux .

Merci de votre aide.

Et voici le fichier en question, réparé de la première erreur :
 

Pièces jointes

  • Saisie Stagiaire.zip
    25.8 KB · Affichages: 39
  • Saisie Stagiaire.zip
    25.8 KB · Affichages: 38
  • Saisie Stagiaire.zip
    25.8 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 837
Messages
2 092 660
Membres
105 482
dernier inscrit
Eric.FKF