Problème Macro arrêt sur Inputbox

Bonjour

Je viens vous les experts pour m'éclairer sur ma macro qui ne veut pas s'arrêter sur on clic sur annuler dans Inputbox

J'ai une macro avec 2 inputbox consécutives, si je clic sur annuler de ma 1ére input elle ne m'arrête pas la macro et m'ouvre ma 2éme input.

Et donc si je reclic sur annuler et bien elle tourne en rond et ne s'arrête jamais.

J'ai intégré des conditions suite à la saisie de chaque input et je pense que je n'ai pas écrit tout ça correctement.

Merci de votre aide

Sub essai_usmp()

'1ére Inputbox

Annee = Application.InputBox("Saisir l'Année d'extraction", "Année des Données", "Année", Type:=1)
If Année = vbCancel Then
Exit Sub
Else
Do While Len(Annee) <> 4
MsgBox ("Année incorrecte")
Annee = Application.InputBox("Resaisir l'Année d'extraction", "Année des Données", "Année", Type:=1)
If Année = vbCancel Then
Exit Sub
End If
Loop
Range("a1") = Annee

'2éme input
Mois = Application.InputBox("Saisir le Mois cumulatif d'extraction", "Période des Données", "Mois", Type:=1)
If Mois = vbCancel Then
Exit Sub
End If
If Mois = vbOK Then
Else
Do While Len(Mois) > 2 Or Mois > 12
MsgBox ("Période incorrecte")
Mois = Application.InputBox("Resaisir le Mois cumulatif d'extraction", "Période des Données", "Mois", Type:=1)
If Mois = vbCancel Then
Exit Sub
End If
Loop
Range("a2") = Mois
End If
End If
End Sub

Bonjour Lamarie, bonjour le forum,

Peut-être comme ça :

Sub essai_usmp()
Dim Annee As Variant
Dim Mois As Variant

iciA:
Annee = Application.InputBox("Saisir l'Année d'extraction", "Année des Données", "Année", Type:=1)
If Annee = False Then Exit Sub
If Len(Annee) <> 4 Then
    MsgBox ("Année incorrecte")
    GoTo iciA
End If
Range("A1") = Annee

iciM:
Mois = Application.InputBox("Saisir le Mois cumulatif d'extraction", "Période des Données", "Mois", Type:=1)
If Mois = False Then Exit Sub
If Len(Mois) > 2 Or Mois > 12 Then
    MsgBox ("Période incorrecte")
    GoTo iciM
End If
Range("A2") = Format(Mois, "00")
End Sub

Merci beaucoup Thauthème pour ton expérience et ton retour sur mon problème.

Je ne connaissais pas le goto et ne pensais pas que l'on pouvait écrire du texte sans que ca soit une écriture normalisé par les macro

Petite question au sujet de la réponse des inputbox :

Est il possible d'intégrer ces réponses dans une formule excel.

Ex: Concat(A1 & Réponse Input & B2)

Re,

Dans du code oui, dans une formule aussi si tu la codes...

Si on prend mon exemple concat comment on pourrait l'écrire en macro en incluant bien sur la réponse de l'inputbox.

Si ce n'est pas trop demander pouvait vous me donner un exemple.

Merci

Re,

Ben justement... Je n'ai rien compris à ton exemple...

Oui je ne suis pas sure que ce que je demande soit possible, désolé si je ne suis pas claire.

J'ai un fichier avec des données en colonne A et B, pour des raisons professionnelles je dois concaténer ces données en colonnes C pour ensuite les extraire en TXT.

Mais à fin que le logiciel qui va recevoir ces données sache qu'elle mois il s'agit je dois intégrer dans chaque ligne le mois.

Donc création d'une inputbox qui demande le mois d'extraction. Pour le moment cette réponse je la copie dans une cellule.

Quand je fais ma formule concat en colonne C je prend donc les données de A et B et j'ajoute ma réponse de mon input qui a été transmise dans une cellule.

Je pensais que peut être il serait possible qu'au lieu d'aller inscrire la réponse de mon inputbox dans une cellule, que cette dernière s'inscrive directement dans la formule de concaténage. Bien sure tout ca en macro.

Voila j'espére avoir été un peu plus clair

Re,

je comprends un peu mieux mais ça me serait vraiment plus utile si tu m'envoyais un petit exemple avec dans un onglet de que tu as au départ et dans un autre ce que tu voudrais après la macro (2 ou 3 lignes suffiraient)...

Rechercher des sujets similaires à "probleme macro arret inputbox"