userfom de saisie ... encore un !

  • Initiateur de la discussion Initiateur de la discussion dn35
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dn35

XLDnaute Occasionnel
Re- tout le monde

Toujours sur mon essai de consignes informatisées, je suis confrontée à un nouveau problème ; j'ai retourné la question dans tous les sens mais encore une fois la solution doit être si simple que ... je ne la vois pas ! 😡

Ce fichier concerne 2 ateliers qui utilisent le même ordinateur (Dieu du budget serré quand tu nous tiens ! 😉) ; ce fichier nous permettra de faire passer des consignes à nos opérateurs et de les modifier en temps réel mais également il leur servira de support pour nous transmettre leurs remarques et leurs commentaires. J'ai donc, sur chaque UF de consignes, une zone dite de commentaire qu'ils peuvent aller remplir puis valider à l'aide du bouton auquel le code si dessous est associé :


Code:
Private Sub butvalidcomment1_Click()
Dim L1 As Integer

If Visabox1.Value = "" Then
MsgBox "veuillez entrer un nom ou des initiales", vbDefaultButton1, "ATTENTION"
Exit Sub
Else
With Sheets("Commentaires opérateurs")
DerLi
L1 = ActiveCell.Row
.Cells(L1, 1).Value = Datebox1.Value
.Cells(L1, 2).Value = "Broyage"
.Cells(L1, 3).Value = Visabox1.Value
.Cells(L1, 4).Value = commentbox1.Value
End With
End If

Visabox1.Value = ""
commentbox1.Value = ""

End Sub
et dans un module :
Code:
Sub DerLi()
  Dim u As Integer
  
  u = 2
  Do While True
  If Cells(u, 2).Value <> "" Then
    u = u + 1
  Else
    Cells(u, 1).Select
    Exit Do
  End If
  Loop
  
End Sub

Mon problème, c'est que les commentaires sont sensés s'inscrire dans des lignes les unes en dessous des autres mais au contraire chaque commentaire s'inscrit à la place du précédent... avez vous une idée de ce qui cloche dans mon code ?

Merci d'avance à tous
Laure
 
Re : userfom de saisie ... encore un !

Salut JP

Merci de ta réponse (elle va me servire pour une prochaine question bravo pour l'anticipation !!!) mais dans le cas présent se n'est pas tout à fait cela. Ici justement, j'aimerais que les commentaires s'inscrivent dans des lignes bien distinctes car ensuite elle seront traitées indépendament suivant leur contenu.

Le problème c'est qu'au lieu de s'inscrire dans la ligne du dessous (premère ligne vierge autrement dit) elle remplace la première ligne (étant donné que jusque là je n'ai pas été capable d'inscrire dans une autre ligne que la première)

j'espère avoir été un peu plus clair, pas toujours évident de s'expliquer clairement !

Laure
 
Re : userfom de saisie ... encore un !

Re- jean marcel, bonsoir stapple

Et merci à tous les deux !
Pour répondre à ta question jean marcel (nota dans le code) j'avais mis en test la colonne 2 puisqu'elle doit obligatoirement être remplie.
Mais ta solution est beaucoup plus simple !

Merci aussi d'avoir expliqué la correction apportée par stapple (les ignorants comme moi ont besoin de gens comme vous !) 😉
Voilà ça fonctionne à merveille grace à vous 2 (si le même esprit d'équipe existait tout le temps, l'usine où je bosse gagnerait des millions !)

Merci encore et bonne soirée ! 😀😀
Laure
 
Re : userfom de saisie ... encore un !

Salut

Merci Stapple .
effectivement , pour ceux qui l'ignorent , Excel a 65536 lignes
Donc déclarer une variable de compteur de ligne en integer ne convient pas . Long convient mieux.
voilou

Quand je suis sûr de n'avoir, dans un onglet, qu'un nombre de lignes inférieur à 256 et un programme très gourmand en ressource, je choisis Byte.
Quand le nombre lignes est inconnu, je préfère Long !
 
Re : userfom de saisie ... encore un !

Bonjour à tous,

Et merci pour l'avalanche de précisions ... (je vais aller me casser un peu la tête avec tout ça sur l'aide vba moi 😕😕😕 car ça dépasse un peu mes connaissances actuelles) Grace à vous j'en apprend un peu plus chaque jour.

Je reviens à mon fil car je suis confrontée à un problème. Lorsque j'utilise la toupie pour faire défiler les consignes, elle fonctionne à merveille mais j'ai deux problèmes :
1) les formats de police ne sont plus appliqués dans l'UF
2) Est-il possible que la toupie ne fasse défiler que les dates existantes dans la bd car comme elle défile sur les ligne de la feuille, au dessus de la ligne 1 elle risque le bug (il y aura potentiellement 30 utilisateurs de ce fichier et donc autant de risque de bug) ?

Merci et bonne journée
Laure
 

Pièces jointes

Re : userfom de saisie ... encore un !

Bonjour JP !

Tout simplement .... par contre le max étant à 100 par défaut et la valeur de la cellule étant une date, cela ne risque t-il pas de poser problème à un moment ou à un autre ?

Laure
 
Re : userfom de saisie ... encore un !

Bonjour
Bonjour JP !

Tout simplement .... par contre le max étant à 100 par défaut et la valeur de la cellule étant une date, cela ne risque t-il pas de poser problème à un moment ou à un autre ?

Laure

Le SpinButton n'intervient pas au niveau de la date, c'est un compteur.
La valeur de compteur étant dans la propriété "Value".
Avant de changer de changer la cellule active il faudrait tester cette valeur pour vérifier si la cellule active peut changer.
Cela impose de connaitre la valeur du compteur à l'initialisation de l'userform.

Le plus simple est d'associer le spinbutton à la ligne sélectionnée.

JP
 
Re : userfom de saisie ... encore un !

re JP

merci d'avoir pris le temps de me répondre. J'ai fait des essais sur 300 lignes et jusqu'à 2011, jusqu'ici aucun problème ..... L'userform s'initialise sur la dernière ligne renseignée.
On verra sur le long terme ...
Merci encore

Laure
 
Re : userfom de saisie ... encore un !

Bonjour à tous,

Je relance le fil avant le week end car à l'utilisation, le fichier rencontre plusieurs problèmes :

1- lors de la navigation entre les dates, il arrive un moment où il y a forcément un bug puisque le bouton toupie se ballade entre les cellules d'une même colonne. Résultat, arrivée à la ligne 1 ... je vous laisse deviner.
2- Ce fichier, destiné à des opérateurs, nous permet de leur transmettre des consignes et eux peuvent y mettre leurs commentaires (zone d'écriture en blanc) Le hic c'est que lorsqu'ils ajoutent un commentaire, ce dernier ce retrouve parfois placé tout en haut ou bien plus bas de l'endroit où il drvrait se trouver ...
Généralement lors de l'ouverture du fichier, c'est OK, c'est au bout de quelques utilisations que cela pose un problème.

Si vous aviez le temps de jeter un oeil ...

Bon weekend à tous ! 😉
DN
 

Pièces jointes

Re : userfom de saisie ... encore un !

Bonsoir

Bonjour à tous,

1- lors de la navigation entre les dates, il arrive un moment où il y a forcément un bug puisque le bouton toupie se ballade entre les cellules d'une même colonne. Résultat, arrivée à la ligne 1 ... je vous laisse deviner.
DN

Une première réponse ci dessous le code à modifier pour éviter une erreur

Code:
Private Sub SpinButton1_SpinDown()
If ActiveCell.Row > 9 Then
ActiveCell.Offset(-1, 0).Activate
If ActiveCell.Row > 9 Then Datebox1.Value = Format(ActiveCell.Value, "dd/mm/yyyy")
End If

End Sub


JP
 
Re : userfom de saisie ... encore un !

Bon soir,

peut-être en modifiant les codes ainsi :
Code:
Private Sub SpinButton1_SpinDown()
  ActiveCell.Offset(-1, 0).Activate
  [B]If ActiveCell.Row < 10 Then [A10].Select[/B]
  Datebox1.Value = Format(ActiveCell.Value, "dd/mm/yyyy")
End Sub

Private Sub SpinButton1_Spinup()
  [B]derli = [A6000].End(xlUp).Row[/B]
  ActiveCell.Offset(1, 0).Activate
  [B]If ActiveCell.Row > derli Then Cells(derli, 1).Select[/B]
  Datebox1.Value = Format(ActiveCell.Value, "dd/mm/yyyy")
End Sub

le second pour éviter de descendre, de descendre ...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
909
Réponses
4
Affichages
732
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
411
Retour