Bonjour à tous.
Je ne comprends pas pourquoi j'obtiens une erreur d'execution sur la ligne de mon inputbox.
J'ai dû exécuter la macro une cinquantaine de fois sans que jamais ça ne plante à cet endroit et voici que j'obtiens une erreur d'incompatibilité de type
J'ai fait des modifs dans mon code mais pas sur ce pavé qui fonctionnait très bien auparavant.
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 Public TabNameSheets() As String Dim ChoixSheet As String 'variable STRING, et non numérique, représentant la sheet sélectionnée par l'utilisateur qui recevra le traitement de la macro Dim SortieWhile As Boolean 'variable qui teste la valeur de l'InputBox de sélection des sheets Dim listeSheets As String MsgBox prompt:="Veuillez parcourir les différentes feuilles du fichier ""Export_TRS"" pour déterminer celle qui va servir à la mise à jour des carnets." For z = 1 To nbSheetExportSAP 'nbSheetExportSAP = nb total de sheets dans le classeur TabNameSheets(z) = ExportSAP.Worksheets.Item(z).Name listeSheets = "Feuille numéro " & z & " = " & TabNameSheets(z) & Chr(10) & listeSheets Next SortieWhile = False While SortieWhile = False ChoixSheet = Application.InputBox(prompt:="Entrez le numéro de la feuille qui servira à importer les données TRS dans les carnets métro" & Chr(10) & Chr(10) & listeSheets, Title:="Entrer le numéro de la feuille", Type:=1 + 2) 'ATTENTION, ici il s'agit de la MÉTHODE InputBox If IsNumeric(ChoixSheet) = True Then 'si la variable STRING ChoixSheet peut être évaluée comme un nombre (ça signifie que le user a bien entré une valeur) alors SortieWhile = True 'SortieWhile = true et on peut sortir de la boucle End If If ChoixSheet = "Faux" Then 'si la variable STRING ChoixSheet est "FAUX" détecte si le bouton annuler ou la croix ont été cliqués. Permet de différencier un clic sur croix ou annuler d'un clic sur ok sans avoir entré de valeur ExportSAP.Close SaveChanges:=False Exit Sub End If Wend
Bien avant que cela ne fonctionne, j'avais passé du temps (découvrant qu'il y avait une méthode et une fonction): j'ai bien essayé du 1, du 1+2, du 2 tout seul en respectant le typage de la variable et c'est cette solution qui convenait et fonctionnait parfaitement avant.
Le 1 tout seul ou le 2 tout seul ne fonctionnent pas...
Je ne comprends d'ailleurs pas pourquoi puisque les différents type permettent un type de données en entrée.
Est-ce lié à ma variable qui affiche la liste des sheets du classeur ?
Merci d'avance pour vos lumières.
Bonne soirée.
Partager