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 :

[VBA-USERFORM] select de la classe range [XL-2002]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut [VBA-USERFORM] select de la classe range
    Bonjour,
    Mon problème se situe au niveau de la ligne en gras du code: Erreur d'exécution '1004' La méthode Select de la classe Range a échouéCette partie de code est mise dans un bouton d'un userform

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim i As Single
    Dim vNewAdd As String
        
    vFinCode = "$A$46"
    vNewAdd = Workbooks("LISTE_CODE.xls").Sheets("LISTECODE").Range(vFinCode).Offset(1, 0).Address
    Workbooks("LISTE_CODE.xls").Sheets("LISTECODE").Range(vNewAdd).EntireRow.Select
    Selection.Insert Shift:=xlDown
    Merci à vous

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Essaye ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("LISTE_CODE.xls").Sheets("LISTECODE").Range(vNewAdd).EntireRow.Insert Shift:=xlDown
    chez moi ce code marche très bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim vNewAdd As String
    vNewAdd = "A2"
    Workbooks("test.xls").Sheets("feuil2").Range(vNewAdd).EntireRow.Insert Shift:=xlDown

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    merci pour cette réponse.

    j'ai oublié de préciser que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("LISTE_CODE.xls").Sheets("LISTECODE").Range(vNewAdd).EntireRow.Insert Shift:=xlDown
    fut ce que j'ai essayé en premier lieu et j'ai eu le même message d'erreur.

    j'ai essayé ensuite de le faire en deux étape, sa a fonctionné deux ou trois fois avant que j’obtienne le même message d’erreur

    A savoir que vNewAdd et vFinCode sont des variables globales

  4. #4
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Je voi plusieur possibilité

    vNewAdd ne contient pas une adresse valide ou tu as une erreur dans un de tes nom.
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Workbooks("LISTE_CODE.xls").select
    Sheets("LISTECODE").select
    Range(vNewAdd).select
    Range(vNewAdd).EntireRow.select
    Avec un peu de chance tu verra ou ca ne colle pas.
    Car la ligne en elle même semble bonne

    si tu le met sur une seule ligne tu as quoi comme erreure?

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Les select ne sont pas supporter dans cette configuration.

    Mais sans select c'est possible avec une ligne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("LISTE_CODE.xls").Sheets("LISTECODE").Rows(Range(vFinCode).Offset(1, 0).Row).Insert Shift:=xlDown
    A+

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    effectivement ta ligne fonctionne, mais parce que tu ne la sélectionne pas

    dés que j'utilise:

    j'ai toujours l'erreur 1004


    j'essaye ta méthode de diagnostic desuite je te tiens au courant

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par LeForestier Voir le message
    Bonjour,
    Les select ne sont pas supporter dans cette configuration.

    Mais sans select c'est possible avec une ligne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("LISTE_CODE.xls").Sheets("LISTECODE").Rows(Range(vFinCode).Offset(1, 0).Row).Insert Shift:=xlDown
    A+
    merci pour cette precision je ne le savais pas !

    j'essaye de suite

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Beh.. si tu veux compliquer la chose, remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .Select
    'par
    .Activate

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    je m'excuse par avance, je débute en VBA, je n'ai surement pas les bon automatisme.

    enfaite si je veux absolument selectionner, c'est pour "colorier" toute la ligne, ainsi que y copier des données venant d'un autre classeur

  10. #10
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    comme te le dirait LeForestier (je pense), tu pourras colorer sans .Select

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    j'essaye cette piste, je n'ai pas encore trouvé la solution

    merci pour toutes ces precisions !

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Re,
    avec ce système tu peu faire tout ce qui est possible sur Rows(R)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Test()
    Dim R As Long
        vFinCode = "$A$6"
        With Workbooks("LISTE_CODE.xls").Sheets("LISTECODE")
            R = .Range(vFinCode).Row + 1
            .Rows(R).Insert Shift:=xlDown
            .Rows(R).Interior.ColorIndex = 3
            'Et pour copier une ligne d'un autre classeur
            '(L = le N° de la ligne de l'autre classeur)
            Workbooks("AutreClasseur.xls").Sheets("LaFeuill").Rows(L).Copy .Rows(R)
        End With
    End Sub
    Comme tu peu le constater... pas un seul Select !!
    A+

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Re, (Désolé pour cette réponse tardive, j'ai eu quelques soucis)

    merci pour cette réponse, et surtout pour ta solution.

    cependant j'ai un souci au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("AutreClasseur.xls").Sheets("LaFeuill").Rows(L).Copy .Rows(R)
    elle ne fonctionne pas, j'ai essayé de la corrigé mais je ne comprends pas la logique de cette commande.
    je suis désolé, ton code fonctionne, j'ai fait une erreur lors de son utilisation (à la place de "L" j'ai mis "$D&3" au lieu de "3"


    cependant j'aimerai quand même que tu m'explique la logique

    merci par avance

  14. #14
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    un petit conseil, quand tu a une fonction que tu ne connaît pas ou que tu ne comprend pas tu double clic sur le mot pour le sélectionner et ensuite tu tape F1...fait le pour copy, With, etc.. et tu auras plus de renseignements que je ne pourrais t'en donner.
    A+

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    pas bête ! :$

    merci encore pour vos interventions à tous !

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

Discussions similaires

  1. 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
  2. [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
  3. Réponses: 4
    Dernier message: 26/08/2010, 13h40
  4. erreur méthode select de la classe range
    Par chloe2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/11/2009, 10h23
  5. la methode select de la classe range a échoué
    Par shrekos007 dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 26/05/2007, 15h51

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