Formule IF dans VBA avec MsgBox
Résolu/Fermé
Chairman_1512
Messages postés
11
Date d'inscription
jeudi 24 décembre 2020
Statut
Membre
Dernière intervention
28 janvier 2021
-
26 janv. 2021 à 13:00
Chairman_1512 Messages postés 11 Date d'inscription jeudi 24 décembre 2020 Statut Membre Dernière intervention 28 janvier 2021 - 28 janv. 2021 à 12:01
Chairman_1512 Messages postés 11 Date d'inscription jeudi 24 décembre 2020 Statut Membre Dernière intervention 28 janvier 2021 - 28 janv. 2021 à 12:01
A voir également:
- Formule IF dans VBA avec MsgBox
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Formule excel - Guide
- Excel mise en forme conditionnelle formule - Guide
7 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
27 janv. 2021 à 05:28
27 janv. 2021 à 05:28
Bonjour,
Exemple de code à adapter et à compléter
Cdlt
Exemple de code à adapter et à compléter
Sub Test_Numero() Dim f1 As Worksheet, f2 As Worksheet Dim Reseau As String Dim Tel As Long Application.ScreenUpdating = False Set f1 = Sheets("Transfert_Argent") Set f2 = Sheets("Paramètres") Reseau = f1.Range("J8").Value Tel = Left(f1.Range("J9"), 5) * 1 Select Case Reseau Case Is = "Orange" col = 7 Case Is = "MTN" col = 8 Case Is = "Moov" col = 9 End Select Set t = f2.Columns(col).Find(Tel, lookat:=xlWhole) If Not t Is Nothing Then 'METTRE ICI, la suite de votre code si le numéro est correct Else MsgBox "Numéro incorrect. Veuillez saisir un numéro " & Reseau End If Set t = Nothing Set f1 = Nothing Set f2 = Nothing End Sub
Cdlt
Chairman_1512
Messages postés
11
Date d'inscription
jeudi 24 décembre 2020
Statut
Membre
Dernière intervention
28 janvier 2021
Modifié le 27 janv. 2021 à 10:29
Modifié le 27 janv. 2021 à 10:29
Bonjour Frenchie,
Merci d'avoir réagi positivement à ma requête. Cela dit, j'ai djà une Sub(Bouton enrégistrer) pour enrégistrer les infos saisies donc le code est ci-dessous:
Sub Transact_Enregistrer()
With Sheet4
If .Range("J4").Value = Empty Then
MsgBox "Veuillez saisir la date", , vbCritical + vbOKOnly, "Erreur DATE!"
Range("J4").Select
Exit Sub
End If
With Sheet4
If .Range("J5").Value = Empty Then
MsgBox "Veuillez saisir l'heure", , vbCritical + vbOKOnly, "Erreur HEURE!"
Range("J5").Select
Exit Sub
End If
With Sheet4
If .Range("J6").Value = Empty Then
MsgBox "Veuillez sélectionner type transaction", vbCritical + vbOKOnly, "Erreur TYPE TRANSACTION!"
Range("J6").Select
Exit Sub
End If
With Sheet4
If .Range("J7").Value = Empty Then
MsgBox "Veuillez sélectionner type bénéficiaire", vbCritical + vbOKOnly, "Erreur TYPE BENEFICIAIRE!"
Range("J7").Select
Exit Sub
End If
With Sheet4
If .Range("J8").Value = Empty Then
MsgBox "Veuillez sélectionner type réseau", vbCritical + vbOKOnly, "Erreur TYPE RESEAU!"
Range("J8").Select
Exit Sub
End If
With Sheet4
If .Range("J9").Value = Empty Then
MsgBox "Veuillez saisir le numéro de téléphone avec l'indicatif 225", vbCritical + vbOKOnly, "Erreur INDICATIF!"
Range("J9").Select
Exit Sub
End If
With Sheet4
If .Range("J10").Value = Empty Then
MsgBox "Veuillez le montant de la transaction", vbCritical + vbOKOnly, "Erreur MONTANT TRANSACTION!"
Range("J10").Select
Exit Sub
End If
With Sheet4
If .Range("M5").Value = Empty Then
MsgBox "Veuillez saisir la référence de la transaction", vbCritical + vbOKOnly, "Erreur REF. TRANSACTION!"
Range("M5").Select
Exit Sub
End If
With Sheet4
If .Range("M6").Value = Empty Then
MsgBox "Veuillez saisir l'ID de la transaction", vbCritical + vbOKOnly, "Erreur ID TRANSACTION!"
Range("M6").Select
Exit Sub
End If
With Sheet4
If .Range("M7").Value = Empty Then
MsgBox "Veuillez saisir le numéro de reçu", vbCritical + vbOKOnly, "Erreur NUMERO RECU!"
Range("M7").Select
Exit Sub
End If
TransactRow = .Range("D1048567").End(xlUp).Row + 1 'First available Row
For TransactCol = 4 To 17
.Cells(TransactRow, TransactCol).Value = .Range(.Cells(14, TransactCol).Value).Value
Next TransactCol
.Shapes("TransactExist").Visible = msoCTrue
.Shapes("TransactNouv").Visible = msoFalse
.Range("E11").Value = False
End With
End With
End With
End With
End With
End With
End With
End With
End With
End With
End With
End Sub
Comment je pourrai intégrer ton code ici?
Cordialement
Merci d'avoir réagi positivement à ma requête. Cela dit, j'ai djà une Sub(Bouton enrégistrer) pour enrégistrer les infos saisies donc le code est ci-dessous:
Sub Transact_Enregistrer()
With Sheet4
If .Range("J4").Value = Empty Then
MsgBox "Veuillez saisir la date", , vbCritical + vbOKOnly, "Erreur DATE!"
Range("J4").Select
Exit Sub
End If
With Sheet4
If .Range("J5").Value = Empty Then
MsgBox "Veuillez saisir l'heure", , vbCritical + vbOKOnly, "Erreur HEURE!"
Range("J5").Select
Exit Sub
End If
With Sheet4
If .Range("J6").Value = Empty Then
MsgBox "Veuillez sélectionner type transaction", vbCritical + vbOKOnly, "Erreur TYPE TRANSACTION!"
Range("J6").Select
Exit Sub
End If
With Sheet4
If .Range("J7").Value = Empty Then
MsgBox "Veuillez sélectionner type bénéficiaire", vbCritical + vbOKOnly, "Erreur TYPE BENEFICIAIRE!"
Range("J7").Select
Exit Sub
End If
With Sheet4
If .Range("J8").Value = Empty Then
MsgBox "Veuillez sélectionner type réseau", vbCritical + vbOKOnly, "Erreur TYPE RESEAU!"
Range("J8").Select
Exit Sub
End If
With Sheet4
If .Range("J9").Value = Empty Then
MsgBox "Veuillez saisir le numéro de téléphone avec l'indicatif 225", vbCritical + vbOKOnly, "Erreur INDICATIF!"
Range("J9").Select
Exit Sub
End If
With Sheet4
If .Range("J10").Value = Empty Then
MsgBox "Veuillez le montant de la transaction", vbCritical + vbOKOnly, "Erreur MONTANT TRANSACTION!"
Range("J10").Select
Exit Sub
End If
With Sheet4
If .Range("M5").Value = Empty Then
MsgBox "Veuillez saisir la référence de la transaction", vbCritical + vbOKOnly, "Erreur REF. TRANSACTION!"
Range("M5").Select
Exit Sub
End If
With Sheet4
If .Range("M6").Value = Empty Then
MsgBox "Veuillez saisir l'ID de la transaction", vbCritical + vbOKOnly, "Erreur ID TRANSACTION!"
Range("M6").Select
Exit Sub
End If
With Sheet4
If .Range("M7").Value = Empty Then
MsgBox "Veuillez saisir le numéro de reçu", vbCritical + vbOKOnly, "Erreur NUMERO RECU!"
Range("M7").Select
Exit Sub
End If
TransactRow = .Range("D1048567").End(xlUp).Row + 1 'First available Row
For TransactCol = 4 To 17
.Cells(TransactRow, TransactCol).Value = .Range(.Cells(14, TransactCol).Value).Value
Next TransactCol
.Shapes("TransactExist").Visible = msoCTrue
.Shapes("TransactNouv").Visible = msoFalse
.Range("E11").Value = False
End With
End With
End With
End With
End With
End With
End With
End With
End With
End With
End With
End Sub
Comment je pourrai intégrer ton code ici?
Cordialement
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
Modifié le 27 janv. 2021 à 11:14
Modifié le 27 janv. 2021 à 11:14
A l'emplacement laissé (en remarque dans mon code), il suffit d'y coller le nom de la macro "Transact_Enregistrer" comme ci-dessous
Cdlt
Sub Test_Numero() Dim f1 As Worksheet, f2 As Worksheet Dim Reseau As String Dim Tel As Long Application.ScreenUpdating = False Set f1 = Sheets("Transfert_Argent") Set f2 = Sheets("Paramètres") Reseau = f1.Range("J8").Value Tel = Left(f1.Range("J9"), 5) * 1 Select Case Reseau Case Is = "Orange" col = 7 Case Is = "MTN" col = 8 Case Is = "Moov" col = 9 End Select Set t = f2.Columns(col).Find(Tel, lookat:=xlWhole) If Not t Is Nothing Then Transact_Enregistrer Else MsgBox "Numéro incorrect. Veuillez saisir un numéro " & Reseau End If Set t = Nothing Set f1 = Nothing Set f2 = Nothing End Sub
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
28 janv. 2021 à 06:20
28 janv. 2021 à 06:20
Bonjour,
Votre Macro "Transact_Enregistrer" est incluse dans le code que j'ai fourni à cet emplacement:
Il vous suffit simplement d'affecter la macro "Test_Numero" à votre bouton "Enregistrer". C'est tout.
Cdlt
Votre Macro "Transact_Enregistrer" est incluse dans le code que j'ai fourni à cet emplacement:
If Not t Is Nothing Then Transact_Enregistrer Else
Il vous suffit simplement d'affecter la macro "Test_Numero" à votre bouton "Enregistrer". C'est tout.
Cdlt
Chairman_1512
Messages postés
11
Date d'inscription
jeudi 24 décembre 2020
Statut
Membre
Dernière intervention
28 janvier 2021
28 janv. 2021 à 10:08
28 janv. 2021 à 10:08
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
Modifié le 28 janv. 2021 à 11:51
Modifié le 28 janv. 2021 à 11:51
Pour le message d'erreur, c'est qu'il manque la déclaration de la variable "Col".
Pour le reste, voici:
https://mon-partage.fr/f/aevjLGE0/
Le fichier étant assez volumineux, je l'ai enregistré avec l'extension "Xlxb", ce qui diminue fortement le nombre de kiloOctets, mais le fonctionnement reste le même.
Cdlt
Pour le reste, voici:
https://mon-partage.fr/f/aevjLGE0/
Le fichier étant assez volumineux, je l'ai enregistré avec l'extension "Xlxb", ce qui diminue fortement le nombre de kiloOctets, mais le fonctionnement reste le même.
Cdlt
Chairman_1512
Messages postés
11
Date d'inscription
jeudi 24 décembre 2020
Statut
Membre
Dernière intervention
28 janvier 2021
28 janv. 2021 à 12:01
28 janv. 2021 à 12:01
Merci infiniment. Ca marche parfaitement. De plus j'ai bien compris la macro.
Bonne journée
Bonne journée
Chairman_1512
Messages postés
11
Date d'inscription
jeudi 24 décembre 2020
Statut
Membre
Dernière intervention
28 janvier 2021
27 janv. 2021 à 13:00
27 janv. 2021 à 13:00
J'avoue ne pas pas vraiment suivre. Vu que mon code est là, pourrais-tu l'insérer dans le tien en même temps comme tu le dis stp?