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 :

Problème procédure avec paramètres


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 22
    Points
    22
    Par défaut Problème procédure avec paramètres
    salut tout le monde
    j'ai le meme probleme que aizen64 dans cette discussion.
    g un classeur excel avec 4 feuilles
    mon programme fait plein de manip sur des valeurs tirées des différentes feuilles.
    je veux arrêter mon programme si je tombe sur une cellule vide au cours de l'exécution avec un message d'erreur mentionnant la cellule vide.
    ce que g fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub EmptyCell(cell As Range)
        If cell.Value = "" Then
            MsgBox "la cellule (" & cell.Row & "," & cell.Column & ") est vide, fin du programme"
            End
        End If
    End Sub
    jusque là c bon mais le problème réside lorsque je fait l'appel de la procédure.
    exp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set currentCell = Range("Feuil1!B1")
       EmptyCell (currentCell)
    là, un message d'erreur apparait en me disant: "Objet requit"

    pour info, la procédure fonctionne correctement si je l'appelle ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EmptyCell (Cells(1,1))
    mais moi je dois impérativement utiliser la commande Range car je parcourt differentes feuilles

    merci d'avance pour votre aide

    P.S je travaille sur excel 2003

  2. #2
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    la definition de tes variables pour les passer à la procédure sont en public?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    non et ca ne change rien si je les mets en public (deja testé)

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    bonjour,

    des parenthése en trop ici :
    disons que si tu met des parenthése l'objet passé en paramétre et évalué et tu n'envoi plus un objet mais la valeur de sa propriété par défaut ici un texte..
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    bonjour, en enlevant les parentheses g une erreur de compil

    "type d'argument byRef incompatible"

  6. #6
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    tu as déclaré tes variables ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim currentCell as range
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    t'es trop fort
    t'as raison g pas déclaré,
    g cru que , comme les autres type (integer, String..), il va créer l'objet avec le bon type lors de la création pour la première fois (ici l'affectation)

    merci tout le monde pour votre aide

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Citation Envoyé par slouma_b_h Voir le message
    t'es trop fort
    t'as raison g pas déclaré,
    g cru que , comme les autres type (integer, String..), il va créer l'objet avec le bon type lors de la création pour la première fois (ici l'affectation)

    merci tout le monde pour votre aide
    Toutes les variables non déclarées sont du type Variant. Après, selon l'utilisation elle pourra devenir du type Variant/Integer, Variant/String, Variant/Range, mais pas Integer,String ou Range.

    Or, ton problème (qui n'est plus mais bon) réside dans le fait que tu passais un paramètre de type Variant/Range et non pas de type Range.

    Vba est assez capricieux sur ce genre de subtilité.

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

Discussions similaires

  1. appel procédure avec paramètres ds fonction
    Par cpattin dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/06/2007, 22h11
  2. Problème procédure avec paramètres
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/06/2007, 10h40
  3. Fonction ou procédure avec paramètres optionnels ?
    Par [Silk] dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2006, 13h55
  4. [xsl] Problème hyperlink avec paramètre
    Par ekmule dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 13/12/2005, 08h46
  5. [Débutant]Procédure avec paramètres entrée / sortie
    Par jeromejanson dans le forum Langage
    Réponses: 13
    Dernier message: 10/10/2005, 08h30

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