Bonjour à tous les amis du Forum.
Après de nombreuses recherches, je n'arrive pas à trouver le moyen
d'afficher le récap des sommes d'un suivi annuel par userform.
J'ai dessiné le userform avec les données à afficher.
Pouvez-vous me donner un coup de main s'il vous plaît.
La syntaxe pour afficher dans les textbox de la feuille BDD.
Code qui pourra me servir à évoluer. Je ne vous demande pas de me mâcher le travail, mais de me
donner des pistes de solutions.
Dans l'attente de votre aide.
Bien cordialement.
Par exemple :
Pour les heures :
TextBox78 ==> TextBoxH1....TextBoxH12
Pour Somme1 :
TextBox90 ==> TextBoxA1 ....TextBoxA12
Pour Somme2 :
TextBox102 ==> TextBoxB1 ....TextBoxB12
Pour Somme3 :
TextBox114 ==> TextBoxC1 ....TextBoxC12
Pourquoi et bien pour savoir qui est qui car TextBox107 je sais pas ce que c'est et je ne sais pas à quoi il correspond mais TextBoxB9 je sais tout de suite que c'est le 9eme de la somme2 donc septembre.
De plus on peut faire une boucle sur les TextBox de ce genre
VB:
For i = 1 To 12
Me.Controls("TextBoxA" & i).value = Worksheets("BDD").Range("AI" & i + 4)
Next i
Maintenant que ton UserForm est ouvert et il faut le remplir mais que veux tu en faire ?
C'est d'ailleurs la 1ere réflexion que tu aurais du avoir en clair c'est pourquoi faire ?
Tu dois te faire un cahier des charges je fais quoi et je veux trouver quoi etc.....
----------------------------------------------------------------------------------------------
A l’ouverture de ton userform il faut remplir les données
*Mais avant il faut supprimer les valeur que tu as mis "en dur"
VB:
Private Sub UserForm_Initialize()
For i = 1 To 12
Me.Controls("TextBoxH" & i).Value = Worksheets("BDD").Range("AH" & i + 4) 'Heure
Me.Controls("TextBoxA" & i).Value = Worksheets("BDD").Range("AI" & i + 4) 'Somme1
Me.Controls("TextBoxB" & i).Value = Worksheets("BDD").Range("AJ" & i + 4) 'Somme2
Me.Controls("TextBoxC" & i).Value = Worksheets("BDD").Range("AL" & i + 4) 'Somme3
Next i
End Sub
Et en plus court
VB:
Private Sub UserForm_Initialize()
With Worksheets("BDD")
For i = 1 To 12
Me.Controls("TextBoxH" & i).Value = .Range("AH" & i + 4) 'Heure
Me.Controls("TextBoxA" & i).Value = .Range("AI" & i + 4) 'Somme1
Me.Controls("TextBoxB" & i).Value = .Range("AJ" & i + 4) 'Somme2
Me.Controls("TextBoxC" & i).Value = .Range("AL" & i + 4) 'Somme3
Next i
End With
End Sub
Maintenant que ton UserForm est remplit que veux tu en faire ?
Cela te sert à quoi ....
Maintenant que ton UserForm est ouvert et il faut le remplir mais que veux tu en faire ?
C'est d'ailleurs la 1ere réflexion que tu aurais du avoir en clair c'est pourquoi faire ?
Tu dois te faire un cahier des charges je fais quoi et je veux trouver quoi etc.....
----------------------------------------------------------------------------------------------
A l’ouverture de ton userform il faut remplir les données
*Mais avant il faut supprimer les valeur que tu as mis "en dur" Regarde la pièce jointe 1099570
VB:
Private Sub UserForm_Initialize()
For i = 1 To 12
Me.Controls("TextBoxH" & i).Value = Worksheets("BDD").Range("AH" & i + 4) 'Heure
Me.Controls("TextBoxA" & i).Value = Worksheets("BDD").Range("AI" & i + 4) 'Somme1
Me.Controls("TextBoxB" & i).Value = Worksheets("BDD").Range("AJ" & i + 4) 'Somme2
Me.Controls("TextBoxC" & i).Value = Worksheets("BDD").Range("AL" & i + 4) 'Somme3
Next i
End Sub
Et en plus court
VB:
Private Sub UserForm_Initialize()
With Worksheets("BDD")
For i = 1 To 12
Me.Controls("TextBoxH" & i).Value = .Range("AH" & i + 4) 'Heure
Me.Controls("TextBoxA" & i).Value = .Range("AI" & i + 4) 'Somme1
Me.Controls("TextBoxB" & i).Value = .Range("AJ" & i + 4) 'Somme2
Me.Controls("TextBoxC" & i).Value = .Range("AL" & i + 4) 'Somme3
Next i
End With
End Sub
Maintenant que ton UserForm est remplit que veux tu en faire ?
Cela te sert à quoi ....
Bonjour @Phil69970 Merci pour ta réponse.
J'ai modifié les différents textbox et ajouté ton code.
Mai j'ai un message d'erreur, je ne sais pas à quoi il correspond.
J'ai été obligé de neutraliser Option Explicit : "Variable non définie"
Je te joint le fichier V2.
Bien cordialement.
Bonjour le Fil (Phil69970) , le Forum
j'ai constaté mais est ce important ?
Que les Données affichées en dures si elles sont bien celles qui doivent être affichées ne correspondent pas toutes aux Libellés.
On a en Libellés du Userform Heure , Somme1 ,Somme2 , Somme3
Et les chiffres affichés en exemple correspondent à Heure , Somme1 , Somme3 et Reste dû .
Non tu les as pas modifié mais tu en as crées des nouveaux ET tu as gardé les anciens !
Les Textbox se superposent ...
Donc il faut virer tous les TextBox superflux
Tu as un pb sur les 2ere lignes je regarde pourquoi
mais cela fonctionne déjà mais tes données risque d'être cachées par les Textbox qui se superposent
VB:
Private Sub UserForm_Initialize()
With Worksheets("BDD")
For i = 1 To 12
' Me.Controls("TextBoxH" & i).Value = .Range("A?" & i + 4) 'Heure
' Me.Controls("TextBoxA" & i).Value = .Range("AI" & i + 4) 'Somme1
Me.Controls("TextBoxB" & i).Value = .Range("AJ" & i + 4) 'Somme2
Me.Controls("TextBoxC" & i).Value = .Range("AL" & i + 4) 'Somme3
Next i
End With
End Sub
Maintenant que ton UserForm est ouvert et il faut le remplir mais que veux tu en faire ?
C'est d'ailleurs la 1ere réflexion que tu aurais du avoir en clair c'est pourquoi faire ?
Tu dois te faire un cahier des charges je fais quoi et je veux trouver quoi etc.....
Re
il a du y avoir une copie de Certains controls ce qui fait qu'effectivement j'ai aussi du supprimer pas mal de TextBox et en plus le TextBox A12 n'existait pas Lol
pense a modifier ton Userform
qu'en est il des Colonnes a prendre en compte ?
jean marie
Bonjour @ChTi160@Phil69970
Merci pour votre aide.
Il reste un problème :
J'ai été obligé de "neutraliser" 'Option Explicit : "Variable non définie"
En tout cas merci pour votre travail et pour aide.
Bien cordialement.