Bonjour !
Occupé à réaliser une appli pour faire des étiquettes, j'ai composé un formulaire dans lequel l'utilisateur renseigne les champs suivants:
- Hauteur de l'étiquette
- Largeur...
- Marges de la page (Haut, bas, gauche, droite)
- Espace horizontal entre chaque étiquettes
- Espace vertical...
Ce formulaire a pour but de contrôler (et modifier si nécessaire) ces différents paramètres afin que toutes les étiquettes tiennent sur une page.
Dans la partie "Contrôle", j'ai le code ci-dessous. Si ce dernier semble fonctionner pour la hauteur de la page (29.7 cm), il ne réalise pas le test de la largeur (21 cm)
Je dois vous avouer que là, j'y perds un peu mon "VBA" ...
Un grand merci d'avance à celui ou celle qui pourra me faire comprendre ce... "truc".
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 Private Function ControleEtiquettes() As Boolean ' Valeurs des champs: ' Me.MargeBas1 = 1.5 Me.MargeDroite1 = 0.95 ' Me.MargeHaut1 = 1.5 Me.MargeGauche1 = 0.95 ' Me.Hauteur1 = 1.1 Me.Largeur1 = 2.3 ' Me.EspaceH1 = 0.5 Me.EspaceV1 = 0.5 Dim I As Integer Dim Hauteur As Double Dim Largeur As Double ControleEtiquettes = True For I = 1 To 20 Hauteur = Me.MargeBas1 + Me.MargeHaut1 + Me.Hauteur1 * I + Me.EspaceH1 * (I - 1) Debug.Print Hauteur If Hauteur = 29.7 Then GoTo Suite Next I ControleEtiquettes = False Exit Function ' Valeurs du Debug.Print: (Ok) ' 4.1; 5.7; 7.3; 8.9; 10.5; 12.1; 13.7; 15.3; 16.9; 18.5; 20.1; 21.7; 23.3; 24.9; 26.5; 28.1; 29.7 Suite: For I = 1 To 10 Largeur = Me.MargeDroite1 + Me.MargeGauche1 + (Me.Largeur1 * I) + Me.EspaceV1 * (I - 1) Debug.Print Largeur If Largeur = 21 Then Exit Function Next I ControleEtiquettes = False ' Valeurs du Debug.Print: (Problème) ' 4.2;7; 9.8; 12.6; 15.4; 18.2; 21 ; 23.8; 26.6; 29.4 ' End Function
Partager