MsgBox sous condition
Résolu/Fermé
Zauri90
-
24 juin 2010 à 11:10
Le Pingou Messages postés 12222 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 3 décembre 2024 - 1 juil. 2010 à 16:05
Le Pingou Messages postés 12222 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 3 décembre 2024 - 1 juil. 2010 à 16:05
A voir également:
- MsgBox sous condition
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Couleur texte avec la fonction si - Forum Excel
- Excel copier une cellule si condition ✓ - Forum Excel
- Nbval avec condition ✓ - Forum Excel
13 réponses
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
24 juin 2010 à 14:45
24 juin 2010 à 14:45
Bonjour,
Juste au passage.
Pouvez-vous mettre une copie du code que vous utilisez pour copier les données des 3 ComboBox et 2 TextBox sur la feuille du classeur ?
Juste au passage.
Pouvez-vous mettre une copie du code que vous utilisez pour copier les données des 3 ComboBox et 2 TextBox sur la feuille du classeur ?
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
29 juin 2010 à 15:34
29 juin 2010 à 15:34
Bonjour,
Merci pour le code.
J'ai bien les 4 Combobox3,4,5 et 6, soit une de plus que les 3 mentionnées, et les 2 TextBox 1 et 2 mais il est impossible de trouvé un référence qui me permette de détecter une même combinaison de critères.
Désolé.
Merci pour le code.
J'ai bien les 4 Combobox3,4,5 et 6, soit une de plus que les 3 mentionnées, et les 2 TextBox 1 et 2 mais il est impossible de trouvé un référence qui me permette de détecter une même combinaison de critères.
Désolé.
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
29 juin 2010 à 16:01
29 juin 2010 à 16:01
Bonjour,
Peut-être qu'une explication plus détaillée me permettrait de vous aider !
Peut-être qu'une explication plus détaillée me permettrait de vous aider !
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
29 juin 2010 à 17:27
29 juin 2010 à 17:27
Bonjour,
Oui , qu'elle est le problème ou que voulez-vous réaliser ?
Oui , qu'elle est le problème ou que voulez-vous réaliser ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
29 juin 2010 à 23:12
29 juin 2010 à 23:12
Bonjour,
Vous parlez de [ComboBox1] qui est une zone de liste déroulante qui contient des dates.
Donc lorsque vous sélectionnez une date on va contrôler cette date et si elle est antérieur à la date système (date du jour) on remplace par un vide.
Voici le code à mettre dans le module du formulaire (Userform):
Vous parlez de [ComboBox1] qui est une zone de liste déroulante qui contient des dates.
Donc lorsque vous sélectionnez une date on va contrôler cette date et si elle est antérieur à la date système (date du jour) on remplace par un vide.
Voici le code à mettre dans le module du formulaire (Userform):
Private Sub ComboBox1_Change() If Me.ComboBox1 = "" Then Exit Sub ' sortir si pas de date If CDate(Me.ComboBox1) < Date Then ' date est antérieur Me.ComboBox1.Value = "" End If End Sub
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
30 juin 2010 à 10:51
30 juin 2010 à 10:51
Bonjour,
Il manque la/les référence/s [Microsoft Excel 12.0 (ou 11.0) Object Library] / [Microsoft Forms 2.0 Object Library] pour le [VBAProject].
1.- ouvrir [Votre classeur.xls] puis touche Alt+F11 pour ouvrir l'éditeur VBA
2.- Sur Outils clic Références
3.- Cocher la/les référence/s citée/s ci-dessus.
Il manque la/les référence/s [Microsoft Excel 12.0 (ou 11.0) Object Library] / [Microsoft Forms 2.0 Object Library] pour le [VBAProject].
1.- ouvrir [Votre classeur.xls] puis touche Alt+F11 pour ouvrir l'éditeur VBA
2.- Sur Outils clic Références
3.- Cocher la/les référence/s citée/s ci-dessus.
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
30 juin 2010 à 16:59
30 juin 2010 à 16:59
Bonjour,
En principe le code que vous m'avez demandé n'as pas besoin de cette référence [MANQUANT: Microsoft calendar control 11.0].
Je veux bien regarder se qui se passe, mettre une copie de votre classeur sur : https://www.cjoint.com/ et poster le lien.
En principe le code que vous m'avez demandé n'as pas besoin de cette référence [MANQUANT: Microsoft calendar control 11.0].
Je veux bien regarder se qui se passe, mettre une copie de votre classeur sur : https://www.cjoint.com/ et poster le lien.
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
30 juin 2010 à 22:23
30 juin 2010 à 22:23
Bonjour,
Pas facile de comprendre les diverses démarches. J'ai fait un essai avec un prêt du 10.6.2010 au 15.7.2010 et les indications son correctes dans la feuille [Expo pro].
Par contre si je fais une restitution anticipé il me donne une erreur su la date de retrait [Combobox11] qui est vide. Il me semble que ce n'est pas correct car vous devriez avoir la date de restitution qui doit être postérieur à la date système ..... ?
Pour le reste tout marche correctement sans la référence [Microsoft calendar control 11.0].
Pas facile de comprendre les diverses démarches. J'ai fait un essai avec un prêt du 10.6.2010 au 15.7.2010 et les indications son correctes dans la feuille [Expo pro].
Par contre si je fais une restitution anticipé il me donne une erreur su la date de retrait [Combobox11] qui est vide. Il me semble que ce n'est pas correct car vous devriez avoir la date de restitution qui doit être postérieur à la date système ..... ?
Pour le reste tout marche correctement sans la référence [Microsoft calendar control 11.0].
Voila actuellement en restitution anticipé j ai toutes les dates qui apparaisse ou il y a eu du retrait de matériel et donc je veut juste qu il n y ai que les dates postérieurs a la dates systèmes qui apparaisse dans la comboBox 11 .
Bien sur si c possible.
Sans votre code mon système marche et la comboBox 11 aussi mais j ai toutes les dates de l année ou y a eu du matériel retiré qui apparaisse.
Merci
Bien sur si c possible.
Sans votre code mon système marche et la comboBox 11 aussi mais j ai toutes les dates de l année ou y a eu du matériel retiré qui apparaisse.
Merci
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
Modifié par Le Pingou le 30/06/2010 à 23:39
Modifié par Le Pingou le 30/06/2010 à 23:39
Bonjour,
Oui d'accord, mais sans un brin d'explication de votre part sur le fonctionnement de votre application se serait plus simple pour moi ....
Pour ceci :
Sans votre code mon système marche et la comboBox 11 aussi mais j ai toutes les dates de l année ou y a eu du matériel retiré qui apparaisse.
Le code à été réaliser pour contôler la date affichée dans la zone de liste et non pas la liste elle même dont je n'ai encore pas réussi à trouver sa provenance.
Et cela dépend aussi ou vous avez placer mon code....
Salutations.
Le Pingou
Oui d'accord, mais sans un brin d'explication de votre part sur le fonctionnement de votre application se serait plus simple pour moi ....
Pour ceci :
Sans votre code mon système marche et la comboBox 11 aussi mais j ai toutes les dates de l année ou y a eu du matériel retiré qui apparaisse.
Le code à été réaliser pour contôler la date affichée dans la zone de liste et non pas la liste elle même dont je n'ai encore pas réussi à trouver sa provenance.
Et cela dépend aussi ou vous avez placer mon code....
Salutations.
Le Pingou
J ai placer votre code sous l userform 4-comboBox 11 la partie restitution anticipée sert a restituée du matériel a une dates antérieur a la date de restitution initialement prévu .
Donc dans la partie restitution anticipée a date de retrait il va apparaître toutes les dates ou il y a eu du matériel retiré pour toutes l année.
Mais moi je veut juste que dans cette comboBox n apparaisse que les dates qui seront postérieurs a la dates systèmes pour ne pas avoir toutes les dates de l années
Donc dans la partie restitution anticipée a date de retrait il va apparaître toutes les dates ou il y a eu du matériel retiré pour toutes l année.
Mais moi je veut juste que dans cette comboBox n apparaisse que les dates qui seront postérieurs a la dates systèmes pour ne pas avoir toutes les dates de l années
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
1 juil. 2010 à 11:17
1 juil. 2010 à 11:17
Bonjour,
Eh bien oui, avec cette explication c'est clair que mon code n'est pas conçu pour cela.
Je vais regarder comment réaliser un code conforme à votre demande
Eh bien oui, avec cette explication c'est clair que mon code n'est pas conçu pour cela.
Je vais regarder comment réaliser un code conforme à votre demande
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
1 juil. 2010 à 14:21
1 juil. 2010 à 14:21
Bonjour,
J'ai supprimer l'ancien code dans la procédure [Private Sub ComboBox11_Change()].
J'ai introduit le nouveau, il est signaler entre ******* dans la procédure [Private Sub ComboBox8_Change]
Votre dossier : http://www.cijoint.fr/cjlink.php?file=cj201007/cij6BG6Ydz.xls
A vous la découverte.
J'ai supprimer l'ancien code dans la procédure [Private Sub ComboBox11_Change()].
J'ai introduit le nouveau, il est signaler entre ******* dans la procédure [Private Sub ComboBox8_Change]
Votre dossier : http://www.cijoint.fr/cjlink.php?file=cj201007/cij6BG6Ydz.xls
A vous la découverte.
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
Modifié par Le Pingou le 1/07/2010 à 15:11
Modifié par Le Pingou le 1/07/2010 à 15:11
Bonjour,
Cela ne marche pas ne veux rien dire.
Alors allez sur débogage et ou se touve l'erreur dans la procédure ?
Note: votre classeur fonctionne correctement chez moi, je teste toujours avant mise à disposition.
Salutations.
Le Pingou
Cela ne marche pas ne veux rien dire.
Alors allez sur débogage et ou se touve l'erreur dans la procédure ?
Note: votre classeur fonctionne correctement chez moi, je teste toujours avant mise à disposition.
Salutations.
Le Pingou
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
Modifié par Le Pingou le 1/07/2010 à 16:06
Modifié par Le Pingou le 1/07/2010 à 16:06
Bonjour,
A bon d'accord, je le retiens pour une prochaine.
Sans commentaire.
Salutations.
Le Pingou
A bon d'accord, je le retiens pour une prochaine.
Sans commentaire.
Salutations.
Le Pingou
24 juin 2010 à 14:48
Private Sub CommandButton1_Click()
Dim trouve, trouve1, trouve2, trouve3 As Range
Dim premcol, dercol, col, premlig, derlig, i As Integer
Dim Rng As String
If UserForm1.ComboBox3.Value = "" Or UserForm1.ComboBox4.Value = "" Or UserForm1.ComboBox5.Value = "" Or UserForm1.ComboBox6.Value = "" Then
MsgBox "Tous les champs sont obligatoires"
Exit Sub
End If
With Sheets(UserForm1.ComboBox3.Value).Rows(3)
Set trouve = .Cells.Find(UserForm1.ComboBox6.Value)
If trouve Is Nothing Then
MsgBox "Utilisateur non trouvé"
Else
premcol = trouve.Column
dercol = trouve.Offset(0, 1).Column - 1
End If
End With
With Sheets(UserForm1.ComboBox3.Value)
Rng = .Range(.Cells(4, premcol), .Cells(4, dercol)).Address
End With
With Sheets(UserForm1.ComboBox3.Value).Range(Rng)
Set trouve1 = .Cells.Find(UserForm1.ComboBox4.Value)
If trouve1 Is Nothing Then
MsgBox "Matériel non trouvé"
Else
col = trouve1.Column
End If
End With
With Sheets(UserForm1.ComboBox3.Value).Columns(3)
Set trouve2 = .Cells.Find(CDate(UserForm1.TextBox1.Value))
If trouve2 Is Nothing Then
MsgBox "erreur de date de retrait"
Else
premlig = trouve2.Row
End If
Set trouve3 = .Cells.Find(CDate(UserForm1.TextBox2.Value))
If trouve3 Is Nothing Then
MsgBox "erreur de date de restitution"
Else
derlig = trouve3.Row
End If
End With
With Sheets(UserForm1.ComboBox3.Value)
For i = premlig To derlig
.Cells(i, col).Value = CInt(UserForm1.ComboBox5.Value)
Next i
End With
If UserForm1.ComboBox6.Value = "Réparation" Or UserForm1.ComboBox6.Value = "Etalonnage" Or UserForm1.ComboBox6.Value = "Prêt" Then
UserForm2.Show
End If
Set trouve = Nothing
Set trouve1 = Nothing
Set trouve2 = Nothing
Set trouve3 = Nothing
Unload UserForm6
End Sub