Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

problèmes de If

  • Initiateur de la discussion Initiateur de la discussion chgo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chgo

Guest
Bonjour,
Avec votre aide j'ai réalisé un code pour de la numérotation, ce code fonctionne bien comme je le souhaite mais je voudrai ajouter 2 conditions et après pas mal d'heures de recherche je n'y arrive pas !
1°) Le code génère une numérotation décroissante, normal, c'est ce que je voulais au départ, mais je pense qu'avec un "CheckBox" associé à une condition je peux inverser l'ordre de numérotation.
2°) Je souhaiterai aussi afficher un MessageBox quand le chiffre saisi dans TextBox1 n'est pas divisible par 5 (résultat de division entier), par exemple : "saisir un multiple de 5".
Je voudrai aussi afficher dans le UserForm1 le résultat de : TextBox1 + TextBox 2, je n'arrive pas à afficher ce résultat.
J'espère que ma demande est assez claire, et qu'elle n'est pas trop importante.
Je joins le code.
Merci d'avance pour votre aide
Chgo
 

Pièces jointes

Re : problèmes de If

Bonsoir,
test avec ces modifications:

Code:
Private Sub CommandButton1_Click()

Dim PageDe As Single, PageA As Single, p As Single

PageDe = TextBox2 - 1
PageA = TextBox1 / 5

Unload Me

p = PageA + TextBox2 - 1

    While p > PageDe
        Range("A1").Value = p
        Range("A5").Value = p + 1 * PageA
        Range("A10").Value = p + 2 * PageA
        Range("A15").Value = p + 3 * PageA
        Range("A20").Value = p + 4 * PageA
        Worksheets("Feuil4").PrintOut
        
If CheckBox1.Value = [COLOR="Red"]True[/COLOR] Then
        [COLOR="Red"]p[/COLOR] = p - 1
 Else
        [COLOR="Red"]p[/COLOR] = p + 1
End If
   
    Wend
       Range("A1").Value = 0

End Sub
 
Re : problèmes de If

Salut Matthieu33,
C'est exactement ce que je cherchai, je crois que je n'aurai pas réussi seul dans mon coin, je ne suis pas assez calé.
Cependant, une petite question, à quoi fait référence le premier If ? bah oui ! j'essaie de comprendre.
Merci beaucoup pour ton aide.
Chgo
 
Re : problèmes de If

Bonjour chgo,

Le premier If... permet de tester si des données ont été saisies dans les textbox1 et textbox2.
Si tu ne mets pas cette condition, lors du clic sur le bouton Imprimer, il y aura un plantage.

@+
 
Re : problèmes de If

re-salut Matthieu33

Je viens d'essayer le code sans cocher la case "n° croissant", lors de l'impression la boucle ne s'arrête pas, les chiffres s'incrémentent indéfiniment et l'imprimante ne s'arrête pas.
Chgo
 
Re : problèmes de If

Salut Matthieu33,
Le code fonctionne bien, merci beaucoup pour ton aide très précieuse.
Ce forum est vraiment bien, je remercie aussi Skoobi.
à +
 
Re : problèmes de If

Bonsoir le forum,
Je viens de m'apercevoir que depuis la modification de mon code je ne peux entrer plus de 4 chiffres dans TextBox1 et TextBox2, j'ai le message d'erreur "erreur d'exécution 6" qui s'affiche, quelqu'un peut-il me dire à quoi correspond cette erreur.
Je mets le bout de code qui retourne l'erreur :
Private Sub TextBox1_Change()
Label4.Caption = 0
If TextBox1.Value <> "" Then Label4.Caption = Label4.Caption + CInt(TextBox1.Value)
If TextBox2.Value <> "" Then Label4.Caption = Label4.Caption + CInt(TextBox2.Value)
Label6.Caption = 0
If TextBox1.Value <> "" Then Label6.Caption = CInt(TextBox1 / 5)
End Sub

Private Sub TextBox2_Change()
Label4.Caption = -1
If TextBox1.Value <> "" Then Label4.Caption = Label4.Caption + CInt(TextBox1.Value)
If TextBox2.Value <> "" Then Label4.Caption = Label4.Caption + CInt(TextBox2.Value)
End Sub

Merci de votre aide.
à + Chgo
 
Re : problèmes de If

Bonsoir

Je pense que l'erreur vient de CInt(
En effet Integer ne prend que des valeurs de -32768 à +32765 (Quelque chose comme ça)

En mettant plus de 4 chiffres tu dépasses ces valeurs

A la place de CInt(
essayes Cdbl(
ou CLng(
 
Dernière édition:
Re : problèmes de If

Bonsoir Banzai64,
C'était un peu ce que je pensais, j'avais vu sur d'autres sites que la plage des valeurs Integer était limitée, mais étant débutant je ne savais pas trop quoi mettre à la place.
Donc suite à ton message j'ai essayé Cdbl et ça à l'air de fonctionner.
Voilà, je te remercie pour ton aide.
à + Chgo
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
172
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…