Bonjour, je viens vous redemander de l'aide car quelque chose me perturbe dans mon formulaire excel.
Le formulaire est fonctionnel néanmoins lors de la mise en cellule de mes variables, il y a une latence.
Je vous explique : La première cellule se remplit, il y a une latence puis les autres cellules se remplissent.
Cela n'a aucune influence sur la bonne exécution du code mais j'aimerais tout de même régler ça, si c'est possible.
Voici mon code :
Tous les Range sont au même endroit, mais le A s'obstine à s'afficher avant les autres, si vous avez une solution à se problème, j'aimerais bien la connaître.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 Private Sub btVal_Click() 'Validation via le bouton Sheets("bdd").Activate '// ON INITIALISE LES VARIABLES (1 variable : 1 colonne) Dim nom As String, prenom As String, sexe As String, daten As Date, NLign As Long, i As Integer i = 0 '// CONFIRMATION CASES BIEN REMPLIES - SI VIDE : MSG D'ERREUR If TxtNom = "" Or TxtPrenom = "" Or TxtDate = "" Or (OptH = False And OptF = False) Then Lbl5.Visible = True Else '// CONFIRMATION : NOM - AUCUN PB SI CELLULE REMPLIE nom = TxtNom i = i + 1 '// CONFIRMATION : PRENOM - AUCUN PB SI CELLULE REMPLIE prenom = TxtPrenom i = i + 1 '// CONFIRMATION : DATE DE NAISSANCE - NB CARACTERES ET FORME If Len(TxtDate > 10) Then TxtDate = Left(TxtDate, 10) 'On s'arrête à 10 caractères End If If IsDate(TxtDate.Value) = True Then daten = TxtDate.Value 'On affecte la date dans la case à une variable daten i = i + 1 Else Lbl5.Visible = True End If '// CONFIRMATION : SEXE If OptH = True Then sexe = "Homme" i = i + 1 Else sexe = "Femme" i = i + 1 End If '// ON TROUVE LA LIGNE OÙ L'ON ECRIRA (montée avec xlUp) NLign = Range("A" & Rows.Count).End(xlUp).Row + 1 'Ici on se base sur la colonne A 'MsgBox NLign '// ENVOIE DES VARIABLES DANS LES CELLULES If i = 4 Then Range("A" & NLign).Value = nom Range("B" & NLign).Value = prenom Range("C" & NLign).Value = daten Range("D" & NLign).Value = sexe '// ON (RE)MASQUE LES LABELS D'ERREUR - DE VALIDATION (en cas d'ajout de plusieurs personnes) If Lbl5.Visible = True Or Lbl6.Visible = True Then Lbl5.Visible = False Lbl6.Visible = False End If Lbl6.Visible = True Application.Wait Now + TimeValue("00:00:02") Lbl6.Visible = False Else Lbl5.Visible = True End If End If End Sub
Merci.![]()
Partager