Bonjour tout le monde.
j'ai un petit souci, je suis débutante en VbA et j'ai besoin de votre aide.
Mon problème est le suivant:
j'ai réalisé un macro pour afficher un formulaire et remplir un tableau avec des informations différentes
Exemple:
Un tableau pour chaque partenaire ( un tableau par feuille)
pour 5 partenaires j'ai besoin de faire 5 feuilles.
Mon code vba fonctionne correctement avec un userfrom mais seulement pour la première feuille.
sur la feuille j'ai un boutton pour ouvrir le formulaire à l'aide d'un marco.
le formulaire s'ouvre pour les 5 feuilles "AB", "BC", "CD", "DE", "EF"
mon problème quand je saisie les informations dans le formulaire et je clique ajouter:
Pour la feuille 1: le tableau se remplit normalement.
Pour les autres feuilles : les informations se rajoutent mais pas d'une façon correcte.
peut être dans Sub AjouterButton_Click() que cette ligne doit être changer mais je sais pas comment pour l'appliquer sur les 5 feuilles
L = Sheets("AB").Range("a65536").End(xlUp).Row + 1
J'ai essayé de changer mon code pour que le macro soit appliqué pour toutes les feuilles et ça marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub UserForm_Initialize() Dim J As Long Dim Ws As Worksheet partenaireBox.ColumnCount = 1 partenaireBox.List() = Array("AB", "BC", "CD", "DE", "EF") tacheBox.List() = Array("Envoi jeux test (émission) ", "1er retour (émission)", "1er retour analyse (émission)", "2 eme retour (émission)", "2eme retour analyse (émission)", "3 eme retour (émission)", "3 eme retour analyse (émission)", "restitution facture 32", "restitution en clair", "restitution en Brut", "analyse fichier partenaire", "Analyse Liste recapitulative (émission)", "Analyse Liste recapitulative(réception)", "1er retour (émission)", "1er retour analyse (reception)", "2 eme retour (reception)", "2eme retour analyse (reception)", "3 eme retour (reception)", "3 eme retour analyse (reception)", "4 eme retour (émission)", "4 eme retour analyse (émission)", "archivage", "Autre") dateBox.Value = Format(Now, "dd/mm/yyyy") Set Ws = Sheets("AB") With Me.numeroBox For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row .AddItem Ws.Range("A" & J) Next J End With dureeBox.Visible = True remarqueBox.Visible = True End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Private Sub AjouterButton_Click() Unload Me Dim num As Integer, LignVide1 As Integer, dernierID As Integer Dim L As Integer Dim rien Dim Ws As Worksheet 'Afficher le nouvel ID dans formulaire Me.numeroBox = dernierID + 1 'Recherche de l'ID du dernier client dernierID = WorksheetFunction.Max(Range("A:A")) LignVide1 = Range("A" & Rows.Count).End(xlUp).Row + 1 'controle saisie des 3 criteres d identification' If partenaireBox = rien Then MsgBox "Vous devez renseigner un partenaire.", 0, "Information" Unload UserForm1 UserForm1.Show ElseIf tacheBox = rien Then MsgBox "Vous devez renseigner une tache.", 0, "Information" Unload UserForm1 UserForm1.Show ElseIf dureeBox = rien Then MsgBox "Vous devez renseigner une durée.", 0, "Information" Unload UserForm1 UserForm1.Show ElseIf MsgBox("Confirmez-vous linsertion de ce nouveau contact ? ", vbYesNo, "Demande de confirmation dajout") = vbYes Then L = Sheets("AB").Range("a65536").End(xlUp).Row + 1 'Ecrire le nouveau n° dans la feuille Base Clients Me.numeroBox = dernierID + 1 Range("A" & LignVide1) = dernierID + 1 Range("B" & L).Value = partenaireBox Range("C" & L).Value = tacheBox Range("D" & L).Value = dateBox Range("E" & L).Value = dureeBox Range("F" & L).Value = remarqueBox End If End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 macro Sub Formulaire() UserForm1.Show End Sub
Partager