IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

inputbox et objet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut inputbox et objet
    Bonjour , je dois écrire une macro qui demande quelle plage on veut sélectionner . Alors avec inputbox je n'y arrive pas car je dois saisir une valeur , voici la ligne de inputbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    surface = Application.InputBox("Quelle surface doit être remplie ?", _
                                 Default = Selection, Type:=8)
    Mais ça ne marche pas , je veux que l'inputbox me demande de selectionner une plage de cellules , comment faire ?

    merci

  2. #2
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    Quand tu veux dire sélectionner une plage de cellules, veux-tu une sélection comme dans les formules d'excel, que tu sélectionnes directement les plages?

    Ou l'utilisateur entre "B1:C6" ?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Voici quelques éléments qui devraient te permettre de progresser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        MsgBox (Sh.Name)
        a = Target.Areas(1).Rows.Count
        b = Target.Areas(1).Columns.Count
        MsgBox ("Nombre de cellules : " & a & " lignes et " & b & " colonnes ")
        b = Target.Row
        C = Target.Column
        MsgBox ("Première cellule : " & b & "  " & C)
    End Sub
    Il faut se souvenir qu'une sélection peut contenir plusieurs zones de cellules, chacune étant composée de plusieurs cellules adjacentes.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Non, Application.InputBox(...., Type:=8) fait bien ce que tu souhaites. Simplement, tu places selection à la place du titre. Ajoute une virgule et à la place de selection, mets Selection.address, sinon tu as un range, alors qu'Application.InputBox attend ici une adresse et donc un string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    surface = Application.InputBox("Quelle surface doit être remplie ?", , _
                                Selection.Address, Type:=8)
    End Sub

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    merci les gars , mais ouskel ça ne marche pas je suis désolée , avec ce que tu as écrit ça me demande bien dans une fenêtre quelle surface doit être remplie , mais ensuite moi je veux sélectionner manuellement cette surface et quand je le fais ça me sélectionne ma plage en pointillés et non en bleu comme d'hab , et ensuite j'ai le message d'erreur :

    variable objet ou variable de bloc with non définie , je ne comprends pas...

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Alors ne mets pas de valeur par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test2()
    Dim Surface As Range
        Range("A1").Select
        Set Surface = Application.InputBox("Quelle surface doit être remplie ?", Type:=8)
        MsgBox Surface.Address
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 16h49
  2. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58
  3. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo