XL 2016 Ajout automatique de Textbox dans un autre userform ou pas ?

NadJP

XLDnaute Nouveau
Bonjour cher forum,

J'ai commencé à lier un code afin d'ajouter des textbox selon un nombre que l'utilisateur choisira

Mais, je ne sais pas comment je peux choisir des cellules de destination dans un autre classeur ouvert (ouverture forcée) et les textbox apparaissent un à un et non tous d'un coup quand je les ajoute dans un autre Userform

Ces textbox seraient des données à ajouter en plus du troisième textbox. Donc, est-il pertinent d'ajouter les textbox dans un autre userform ou bien est-il pertinent d'ajouter les textbox en dessous du 3ème textbox et que l'userform se réajuste (avec le codage) selon vous ?

Merci beaucoup pour votre aide et belle journée :)
 

Pièces jointes

  • Ajout-TextBox.xlsm
    33.1 KB · Affichages: 9
Dernière édition:

fanch55

XLDnaute Barbatruc
Bon, pas sûr d'avoir tout compris mais voila une version de ce que j'ai pu comprendre.
Cela a pris du temps car j'ai réfléchi à ce qui serait le mieux adapté .
D'autant plus que les fichiers de type 1 , 6 ou 11 etc..., sont imaginaires ...
 

Pièces jointes

  • Timp.zip
    61.4 KB · Affichages: 11

NadJP

XLDnaute Nouveau
Bonjour fanch55,
Tout d'abord, il ne fallait pas hésiter à me dire que ça allait prendre beaucoup de temps. J'aurais compris le fait que tu refuses, vu le chef-d'oeuvre que tu viens de me proposer

Ensuite, je te remercie énormément !!! Le travail que tu as fait, témoigne d'un très haut niveau dans la programmation VBA. C'est encore mieux que ce que j'ai pu imaginé. Un énorme BRAVO à toi :)

Il y a juste un petit bémol, est-il possible de ne pas ouvrir le fichier 1 et de laisser choisir l'utilisateur le fichier qu'il souhaite ouvrir, puis dans un second temps, d'enregistrer automatiquement le fichier modifié dans un autre dossier stp? Cette action devrait se réaliser après impressions des documents choisis

Lorsque je clique sur la comboBox, et souhaite changer de fichier, elle reste sur le fichier 1. Il faut cliquer sur la flèche de droite pour pouvoir intervertir, hors il ne faudrait pas que tous les fichiers s'ouvrent en même temps.
Les fichiers 1, 2 et 3 par exemple, sont des fichiers "vierges" qui ne doivent pas être modifiés

Merci beaucoup pour ton aide
 

NadJP

XLDnaute Nouveau
Bonsoir fanch55,

Ne t'inquiètes pas, tout est nickel de ton côté, je sais que tu n'as rien modifié

Merci beaucoup, j'étais en train de parfaire le fichier et les dernières modifications qu'il faut apporter. Je ne voulais pas te solliciter davantage, le fichier en soit est très bien, merci encore

Ca sera ma dernière sollicitation que j'ai essayé de faire mais n'ai pas réussi... Je me suis rendu compte d'une faille de sécurité. J'ai mis, dans les fichiers de destinations, une validation de données sur les cellules concernées, avec un nombre de caractères maximum. En lançant l'userform, si je mets par exemple 1 chiffre pour le 1er critère alors qu'il en faut 4, pas de blocage... Est-il possible dans notre cas de contrôler la valeur des textbox ? En mettant un nombre maximal et minimal de chiffres
Exemple :
Critère 1 : 4 chiffres
Critère 2 : 6 chiffres
Critère 3 : 10 chiffres etc.
Je pensais à ce type de code :

VB:
Function KeyOK(Code)
         KeyOK = IIf(InStr("1234567890", Chr(Code)), Code, 0):  If KeyOK = 0 Then Beep
End Function
 Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = KeyOK(KeyAscii)
End Sub

Private Sub TextBox1_Change()
If Len(TextBox1) > 4 Then
  TextBox1 = Mid(TextBox1, 1, 4) '4 caractères maximum
End If
End Sub


Et pour la colonne texte, toute valeur est autorisée, pas de restriction particulière

Pour finir, est-il possible de rester sur le fichier principal "Main (3)" et de sauvegarder le fichier de destination en "Enregistrer sous"? J'ai enlevé Application.WindowState = xlMinimized

Merci beaucoup, je ne te solliciterai plus après ça

Belle semaine
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 850
Membres
103 974
dernier inscrit
chmikha