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 :

[E-03] Sélection de cellules situées dans une autre feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Par défaut [E-03] Sélection de cellules situées dans une autre feuille
    Bonjour,

    J'ai un bouton sur une feuille X. Il contient le code ci-dessous. Lorsque je clic sur le bouton, j'ai un message d'erreur "ERREUR d'éxécution 1004". Pourquoi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Sheets("test").Activate
    Range(Cells(1, 1), Cells(2, 2)).Select

  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,

    Voici ce qui dit l'aide pour Range
    Argument de type Variant obligatoire. Nom de la plage. Il doit s'agir d'une référence de type A1 dans le langage de la macro. Il peut inclure l'opérateur de plage (le signe deux-points), l'opérateur d'intersection (un espace) ou l'opérateur de liaison (une virgule). Il peut aussi inclure des signes dollar, mais ils sont ignorés. Vous pouvez utiliser un nom défini en local dans n'importe quel endroit de la plage. Si vous utilisez un nom, il est considéré comme appartenant au langage de la macro.
    Utilises "B1" au lieu de cells(1,2)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Par défaut
    Merci!

    Mais je veux avoir des références R1C1.

  4. #4
    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
    Est-ce VRAIMENT nécessaire le select? Les select, selection, activate sont à utiliser qu'en dernier recours!

    Il a généralement ("toujours...") une façon de ne pas les utiliser.

    Que veux-tu faire avec le select? On peut surement t'aider!

    Sinon, .... sinon il est possible d'utiliser
    mais... pas de select

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Je n'ai pas l'habitude de travailler avec les références, mais as-tu essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Union(Cells(1, 1), Cells(2, 2))

    EDIT :
    Est-ce VRAIMENT nécessaire le select? Les select, selection, activate sont à utiliser qu'en dernier recours!
    Je suis entièrement en accord avec ça.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    Mis a part que les select et activates sont inutiles, ralentissent le code et font clignoter l'écran, et bien qu'il faille bien passer par leur utilisation pour se rendre compte qu'ils ne servent a rien, j'ai testé ton bout de code, et il fonctionne parfaitement, dans la mesure ou la feuille ("test") existe bien, mais même alors, ça serait une erreur 9. es tu sur que tu nous a tout dis ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Par défaut
    Je joins le fichier excel pour aider à la compréhension!
    Fichiers attachés Fichiers attachés

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    là, je dois dire que ça me dépasse. si j'ouvre ta piece jointe, je trouve exactement le probleme que tu décris. par contre si je l'enregiste sur mon bureau pour l'étudier, il n'y a plus de probleme, ça passe impecable [E07; mode compatible 97/03]. donc je passe la main. il me semble que j'avais eu un pb du même genre a mes début sur le forum et si je n'm'abuse c'est ouskel qui m'avais sauvé, une histoire de true or false a rajouter sur l'adresse, mais je sais vraiment plus. donc avec mes excuses a ouskel'nor pour avoir oublié sa leçon, mais si ça peut t'aider...

  9. #9
    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,

    J'ai vérifié de mon coté, aucune différence si j'ouvre, j'ouvre puis enregistre sur mon poste, enregistre directement, j'ai toujours l'erreur décrite. Je suis E-03!!!

    Si ça peut vous éguiller!

  10. #10
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Sous [E07] mode compatibilité 97/03 ça ne passe pas non plus.

    Par contre si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Range(Cells(1, 1), Cells(2, 2)).Address
    alors là j'ai bien l'adresse.

    Ni select ni activate ne passent ???


    EDIT : Si je place le même code dans un nouveau classeur, ça fonctionne.

  11. #11
    Membre Expert

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    Bonjour
    le problème doit être ailleurs
    j'ai démarré 2003 le code copier dans le bouton quandclic ça marche comme sur des roulettes

  12. #12
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Re,

    Si au lieu de placer le code dans la feuille mais dans un module, le code fonctionne :

    Dans la feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    
    Bouton_click
    
    Dim Myrange As Range
    Worksheets("sélection des cellules").Activate
    Set Myrange = Range(Cells(1, 1), Cells(2, 2))
    ' Ici toujours le plantage
    Myrange.Select
    
    End Sub
    Dans un module standard ici tout fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Bouton_click()
    Dim Myrange As Range
    Worksheets("sélection des cellules").Activate
    Range(Cells(1, 1), Cells(2, 2)).Select
     
    Set Myrange = Range(Cells(1, 1), Cells(2, 2))
    Myrange.Select
    Range(Cells(1, 1), Cells(2, 2)).Activate
    Worksheets("sélection des cellules").Activate
     
    Union(Cells(1, 1), Cells(2, 2)).Select
    End Sub

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Par défaut
    J'ai enfin trouvé. Il s'agit d'indiquer le nom de la feuille avant les mots RANGE et CELLS.

    Merci de votre aide!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Worksheets("sélection des cellules").Activate
     
    Worksheets("sélection des cellules").Range(Worksheets("sélection des cellules").Cells(1, 1), _
    Worksheets("sélection des cellules").Cells(2, 2)).Select

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/07/2009, 13h53
  2. Inscrit l'adresse d'une cellule sélectionnée dans une autre cellule
    Par Bubale dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/05/2008, 22h26
  3. Réponses: 3
    Dernier message: 19/12/2006, 01h16
  4. Réponses: 4
    Dernier message: 28/08/2006, 13h04
  5. [VBA-E]Copier une serie de cellules dans une autre feuille
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/03/2006, 17h23

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