1 USF pour plusieurs feuilles, enregistrer modifier les données de chaque feuilles.

marcelio

XLDnaute Occasionnel
Bonjour à tous,

J'ai un USF que j'ouvre à partir de la feuille Base et sur toutes les autres feuilles (environ 50, 3 seulement sont présentes)
J'aimerais une fois l'USF ouvert, enregistrer mes données, et pouvoir par la suite les modifier.
J'y suis arriver pour la feuille base mais je n'ai pas trouver comment faire pour toutes les autres feuilles après plusieurs recherche.

Je travail avec un maxi de 24 noms mais le plus souvent moins.
Est il possible d'afficher dans l'USF seulement les noms présents dans ma liste et de masquer les autres TextBox vide.

Toutes mes feuilles sont avec protection sans mot de passe.

Merci de votre aide.

Marcelio
 

Pièces jointes

  • USF.zip
    15.8 KB · Affichages: 29
  • USF.zip
    15.8 KB · Affichages: 30
  • USF.zip
    15.8 KB · Affichages: 33

Hulk

XLDnaute Barbatruc
Re : 1 USF pour plusieurs feuilles, enregistrer modifier les données de chaque feuill

Hello Marcelio, Forum,

Si j'ai bien compris, remplace les codes de l'Initialize de l'USF et celui du CommandButton par ceux-là...
Code:
Private Sub UserForm_Initialize()

    Dim n As Integer
    
    With ActiveSheet 'C'est ici qu'il fallait mettre ActiveSheet plutôt que le nom de la feuille
        .Unprotect
        For n = 1 To 24
            Controls("SpinButton" & n).Value = .Range("BA" & n + 11).Value
            Controls("TextBox" & n).Value = .Range("AZ" & n + 11).Value
        Next n
        .Protect
    End With
    
End Sub

Private Sub CommandButton1_Click()

    Dim n As Integer
    
    With ActiveSheet
        .Unprotect
        For n = 1 To 24
            .Range("BA" & n + 11).Value = Controls("SpinButton" & n).Value
        Next n
        .Protect
    End With
    
    Unload BM

End Sub
Me suis permis de te proposer une boucle pour "simplifier" le code.
On pourrait aussi imaginer un module de classe pour les TextBox, mais il faudrait renommer (réorganiser) tous les TextBox.

Aussi, vaut mieux utiliser l'indentation afin de rendre le code plus lisible.
 

marcelio

XLDnaute Occasionnel
Re : 1 USF pour plusieurs feuilles, enregistrer modifier les données de chaque feuill

Bonjour Hulk et le Forum,

Merci Hulk cela fonctionne super bien.

Par contre si j'ai moins de 24 noms à tu une solution pour masquer les TextBox vide.

Merci beaucoup pour ton aide

Marcelio
 

Hulk

XLDnaute Barbatruc
Re : 1 USF pour plusieurs feuilles, enregistrer modifier les données de chaque feuill

Re,

Je t'ai modifié la chose avec un module de classe, tu verras j'ai tout commenté, c'est plus clair.

Si tu coupes des lignes, par exemple les lignes 26 à 35 d'une des feuilles, donc moins de 24 noms, les autres contrôles seront masqués.

Voir si ça te convient.
 

Pièces jointes

  • USF(1).xls
    60.5 KB · Affichages: 44
  • USF(1).xls
    60.5 KB · Affichages: 50
  • USF(1).xls
    60.5 KB · Affichages: 45

marcelio

XLDnaute Occasionnel
Re : 1 USF pour plusieurs feuilles, enregistrer modifier les données de chaque feuill

Re,

Ta raison , tout est clair et bien expliquer.
Mais je ne peux pas coupé des lignes car tout par de la feuille menu de la case B10 à B33.
c'est ici que j’inscris mes noms.
Si je marque rien il y à un 0 à la place du nom dans mes différentes feuilles.

Il faudrait si tu peux que si à la places des noms il y à un 0 que ça masque les autres contrôle

Encore Merci

Marcelio
 

Hulk

XLDnaute Barbatruc
Re : 1 USF pour plusieurs feuilles, enregistrer modifier les données de chaque feuill

Re,

Peut-être comme ça.. Donc si vide dans le menu, pas de contrôles.
 

Pièces jointes

  • USF(2).xls
    91 KB · Affichages: 51
  • USF(2).xls
    91 KB · Affichages: 53
  • USF(2).xls
    91 KB · Affichages: 55

Discussions similaires

Réponses
12
Affichages
429

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510