Pb vba excel application.inputbox type 8

romain -  
 JeJe -
Bonjour à tous,

je cherche à activer une cellule qui serait préalablement désignée par l'utilisateur, voilà ce que j'ai écris:

impact = Application.InputBox(prompt:="indiquer cellule ou intégrer le tableau des impacts", Title:="entrée tableau impacts", Type:=8)
range("impact").activate

J'immagine que ça bugge car impact contient l'objet range mais est en soi une variable et non une cellule, enfin si quelqu'un peut m'aider,
ça serait cool:)
Configuration: Windows 2000
Firefox 2.0.0.5

8 réponses

  1. Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   59
     
    Bonjour Romain,

    Je ne sais pas l'expliquer, mais si tu modifies ton code comme ci-dessous, et que tu entres l'adresse de ta cellule au clavier, ça fonctionne.

    impact = Application.InputBox("indiquer cellule ou intégrer le tableau des impacts", "entrée tableau impacts")
    Range(impact).Activate

    J'essaierai d'approfondir le problème par la suite.

    Cordialement.

    Papou.
    3
  2. romain
     
    Merci Papou!
    En fait, j'avais réussi à faire marcher l'instruction peu de temps avant en définissant bien le retour de la méthode inputbox comme objet range, puis en mettant simplement

    impact.activate 'puisque impact est défini comme un objet range, pas besoin de placer "range" devant

    Cependant, autre problème :) :

    Ce matin, je refais la même instruction pour intégrer un autre tableau:

    Set tab_act_mot = Application.InputBox(prompt:="sélectionner la cellule où placer" & Chr(10) & " le tableau des demandes par activité/motif", Title:="tableau croisé activité/motif", prompt:=8)
    tab_act_mot.Activate

    Et cette fois ci, j'obtiens l'erreur suivante:

    "erreur de compilation: argument nommé déjà spécifié"... Ils me surlignent le "inputbox" et me mettent en jaune "private sub()" que j'ai tout en haut de mon code.

    quelqu'un sait-il d'où ça vient?

    Merci d'avance!
    1
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. romain
     
    J'ai modifié par

    set impact= application...etc.

    Mais ça ne marche tjs pas
    0
  5. romain
     
    personne ne connaît la réponse?? ça me serait d'une grande aide!!!!!!
    0
  6. romain
     
    autre information que je pense devoir vous fournir, car l'erreur vient peut être de ceci:

    pour la 1ère utilisation de la méthode inputbox, j'ai également inséré l'action:
    on error go to errhandler
    Ce dernier (errhandler) me renvoyant simplement un msgbox indiquant que le tableau était annulé si l'utilisateur clique sur ce bouton.

    J'ai pour la deuxième méthode voulu également insérer :
    on error go to err handler
    errhandler: msg box "tableau annulé"

    Mais peut être ne dois-je pas écrire deux fois errhandler: et dans ce cas, comment gérer le bouton annuler dans deux cas différent sachant que mon premier errhandler se trouve à la fin de mon code juste avant le end sub?

    J'espère que j'ai été assez clair, pour résumer, mon code ressemble à ceci:

    private sub()
    .
    instructions
    instructions
    .
    méthode inputbox
    .
    instructions
    méthode inputbox
    .instructions
    errhandler

    end sub
    0
    1. JeJe
       
      En fait tu a mis prompt a la place de type

      change prompt=8 par type =8
      0
  7. personne
     
    dim impact as range

    pour commencer
    0