Inputbox et erreurs

Résolu/Fermé
Vaalrhona - Modifié par Vaalrhona le 18/08/2016 à 13:42
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 18 août 2016 à 14:36
Bonjour,

J'essaie de créer une boite de dialogue dans laquelle on peut indiquer le nom d'une feuille présente dans le classeur afin que les formules présentes dans la feuille active se mettent à jour avec les bonnes références (c'est clair ou pas ? XD)
Bref, je bloque déjà pour créer la boite de dialogue, il me sort "nombre d'arguments incorrect ou affectation de propriété incorrecte". Je ne sais pas quoi faire pour régler le problème.

De l'aide svp ?

Merci d'avance

Sub Inputbox()
Dim feuille As Object
Dim message As String

message = "Indiquer la feuille de référence :"
feuille = Inputbox(message)

End Sub

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 août 2016 à 14:03
Bonjour,

A lire tout d'abord : https://forums.commentcamarche.net/forum/affich-37636380-vba-inputbox

Ensuite :
1- ne pas nommer une Sub d'un nom utilisé par VBA.
Donc remplace :
Sub Inputbox()

par (par exemple) :
Sub MonInputbox()


2- Une InputBox renvoie un String. Il te faut donc déclarer une variable de type String pour en stocker le résultat.
Remplace donc :
Dim feuille As Object

par :
Dim feuille As String

ça devrait le faire...
1
Ouais !!!
Merci ça marche.
Je suis sûre d'avoir déjà testé avec String sans résultat mais là ça fonctionne...
Bref.
Maintenant, autre question : comment faire pour qu'Excel reconnaisse ma valeur en tant que nom de feuille ?
Mes feuilles sont nommées comme ça : 15-08 16-08 17-08 ...
Une par jour.
En fait, j'ai la formule suivante (pour la feuille 17-08, qui fait donc référence à la feuille précédente) : =D:D-'16-08'!D:D
Et je voudrais que le '12-08' se mette à jour avec l'info saisie dans la boite de dialogue...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 août 2016 à 14:15
A condition que la feuille que tu vas renseigner dans l'inputbox existe ET que tu souhaites placer ta formule en A1 de la feuille 17-08 :
Sub MonInputbox()
Dim feuille As String
Dim message As String

message = "Indiquer la feuille de référence :"
feuille = Inputbox(message)
Sheets("17-08").Range("A1").FormulaLocal = "=D:D-'" & feuille & "'!D:D"
End Sub
0
Vaalrhona > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
18 août 2016 à 14:28
Bizarre, il me met des ' autour du 08 : =D:D-16-'08'!D:D
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > Vaalrhona
18 août 2016 à 14:34
Copie/colle ton code ici...
0
Non c'est bon ! My bad, j'avais mal mis les guillemets/apostrophes, ça fonctionne !

Merci beaucoup :D
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > Vaalrhona
18 août 2016 à 14:36
de rien.
A+
0