Inputbox et erreurs

Résolu
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

  1. Modérateur
    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...
      1. Modérateur
        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
      2. @pijakuBizarre, il me met des ' autour du 08 : =D:D-16-'08'!D:D
      3. Non c'est bon ! My bad, j'avais mal mis les guillemets/apostrophes, ça fonctionne !

        Merci beaucoup :D