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 :

la methode select de la classe range a échoué


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut la methode select de la classe range a échoué
    je suis bloqué sur la ligne en rouge

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Dim semaine As String
    
    Private Sub CommandButton1_Click()
    semaine = Sheets("saisie").Range("D4")
        Range("C8:D8").Select
        Selection.Copy
        Sheets("1").Select
        
        Columns("A:A").Select
        
        Selection.Find(What:=semaine, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
       ' selecion.Offset(0, 2).Select
      '  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       ' :=False, Transpose:=False
        
       ' Sheets("SAISIE").Select
       ' Range("E8:Y8").Select
       ' Selection.Copy
       ' Sheets("1").Select
       ' Selection.Find(What:=semaine, After:=ActiveCell, LookIn:=xlFormulas, _
       ' LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
       ' MatchCase:=False, SearchFormat:=False).Activate
      '  selecion.Offset(0, 10).Select
           
       ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        ':=False, Transpose:=False
        'Sheets("SAISIE").Select
           
        
       
    MsgBox " Modification effectué "
    
    
    End Sub

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    essaye de mettre


    à la place
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    problème identique

    pour info la variable "semaine" est de cette forme "01SEM03"

    je pense que cela doit venir de la

    merci

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    c'est quoi le but de ton bouton la ? parce qu ememe en lisant je vois pas trop ce que tu veux faire
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    copier les valeurs de la feuille saisie sur une autre feuille d'archive en fonction de 2 critères la semaine et le nom de la personne

    j'ai rajouté des commentaires en rouge.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub CommandButton1_Click()
    semaine = Sheets("saisie").Range("D4")
        Range("C8:D8").Select
        ' je selectionne les premières cellules à copier de la première personne
        Selection.Copy
        Sheets("1").Select
        'je selectionne le classeur d'archive de cette personne
        Range("A:A").Select
        
        Selection.Find(What:=semaine, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
        'je cherche dans la colonne A la cellule ou se trouve la variable semaine
       ' selecion.Offset(0, 2).Select
      '  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       ' :=False, Transpose:=False
        'je me decale de 2 cases et je copie.

  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
    Points : 15 543
    Points
    15 543
    Par défaut
    Déjà, ta copie ne fonctionnera pas.
    Tu ne peux pas chercher l'endroit où tu vas coller après avoir copié. Tu dois la chercher avant et, si tu utilises les "select" ceci ou cela, te placer à l'endroit où tu veux coller avant de copier.
    Ensuite, tu es sûr du nom de ta feuille Sheets("1") ?
    Si le nom porté sur l'onglet est "1", alors essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("1").activate
    Sinon, si tu prends le nom dans l'éditeur VB, la syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).activate 'ou select
    A+

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    j'ai modifié le code pour selectionner d'abord et copier après c pareil
    il bloque a cette endroit
    ma feuille s'appelle bien 1 car j'en ai pas mal et donc je prefere les numéroter.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim semaine As String
    
    
    Private Sub CommandButton1_Click()
      semaine = Sheets("saisie").Range("D4")
      Worksheets("1").Activate
      Range("A:A").Select
        
        Selection.Find(What:=semaine, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    moi, j'ai essayé les deux cods qui m'on l'air tout a fait correct, et aucun ne bleque
    ni celui la
    Sheets("1").Select
    Columns("A:A").Select
    ni celui ci
    range("A:A").select
    par contre au niveau de find, ça pose probleme

  9. #9
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Comme alsimbad...
    Tu n'as pas un espace dans le nom de ta feuille ? Non, sinon ça planterait plus haut...
    Ta feuille n'est pas protégée... des fois ?
    ?

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    non la feuille n'est pas activer par contre j'ai creer ma premiere feuille "1" puis j'en ai fait des copies pour les autres personnes qui s'appelle "2" "3" etc

    peut etre un probleme de memoire je comprend pas

    je viens de tester sur une meme feuille cela marche c'est à dire si je met un bouton sur la feuil1 est que je lui demande au clic de selectionner la colonne A il le fait, par contre si je lui demande de selectionner la colonne A de la feuil2 il ne veut pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    celle la NOK
    Sheets("Feuil2").Select
        Columns("A:A").Select
    celle la OK
    Sheets("Feuil1").Select
        Columns("A:A").Select

  11. #11
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Alors je ne vois qu'une solution : Tu supprimes ta feuille "1" et tu en crées une nouvelle que tu nommes pompeusement "1" et tu refais l'essai.
    Faut bien qu'on en sorte
    Tu dis
    A+

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    C Pareil

    Pourquoi Sur La Meme Feuille Cela Marche Et Pas Lorsque Je Lui Demande De Selectionner Une Colonne Sur Une Autre Feuille

  13. #13
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Il est où ton code ?

  14. #14
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    moi je dirais si tu connais le début et la fin de ta colonne indique le.
    Plutot que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range ("A:A").Select 'ou activate
    Essai plutot par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range ("A1:A36").Select

  15. #15
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    Autre chose la 2ème feuille dont tu parles, c'est un onglet du même classeur ?

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    oui c un onglet du meme classeur
    meme celui la il marche pas
    je clic sur le bouton et hop message erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton3_Click()
    Sheets("Feuil1").Select
    Range("A1:A36").Select
    End Sub

  17. #17
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    tu n'aurais pas une macro sur la worksheet par hasard du genre
    selection quand change then selection pas changer

  18. #18
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    Ok alors pour que tu vois, ferme ton excel et toutes tes feuilles excel. D'ailleurs attention, quand tu fais une macro sur un seul classeur n'ouvre pas les autres, ferme tout parce que les macro se mélangent entre elles...

    ouvre un classeur quelconque vierge et tape la macro dans thisworkbook dans VBA éditor..
    si ça marche pas je vois pas

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    je n'ai aucune macro

    j'ai supprimé tous les modules dans vba

  20. #20
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par shrekos007
    oui c un onglet du meme classeur
    meme celui la il marche pas
    je clic sur le bouton et hop message erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton3_Click()
    Sheets("Feuil1").Select
    Range("A1:A36").Select
    End Sub
    C'est normal, tu as oublié que ta feuille s'appelle "1"
    Blague dans le coin, une fois que tu auras exploré les deux solutions de melodyyyyyyy et d'alsimbad, toutes deux inspirées, dois-je dire, tu crées un nouveau classeur, tu déplaces les macros d'un classeur dans l'autre (ça crée une copie) et tu refais tes expériences. Evite de copier les feuilles
    A+

Discussions similaires

  1. Méthode select de la classe range a échoué
    Par BERRACHED SAID dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 06/06/2013, 13h11
  2. Problème Select (Methode Select de la classe Range à échoué)
    Par linkcr15 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 05/06/2012, 09h43
  3. [XL-2003] Method select de la classe range échoue
    Par Grindan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/09/2010, 09h08
  4. Réponses: 4
    Dernier message: 26/08/2010, 13h40
  5. La methode sort de la classe range a échouée
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 24/08/2007, 15h25

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