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 :

Un Range variable ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 67
    Par défaut Un Range variable ?
    Bonjour,
    Je suis actuellement stagiaire et mon responsable souhaite que je développe un petit programme sous vba. Je cherche a faire une boucle de tri de blocs de 3 colonnes. Seulement ces colonnes sont créées par le programme et je ne connais pas a l'avance combien de blocs vont être créés. J'ai donc voulu faire en sorte que le range a trier soit variable. Mais voilà plusieurs jours que je teste differentes syntaxe, sans succès... Voilà la ligne qui pose soucis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheet("tmpgraph").Range(Cells(l, k),  Cells(l, k + 1)).sort key1:=Worksheet("tmpgraph").Range("G4")
    l=l+1
    L'erreur renvoyée est l'erreur '1004', erreur définie par l'application ou l'objet.

    Voilà, désolé je n'ai que mon téléphone pour accéder a internet je pourrais vous apporter plus de détails si nécessaire.

    En vous remerciant

    Édit: pas d'erreur avec cette syntaxe mais pas de tri non plus...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheet("tmpgraph").Range("" & k + 1 & l & " : " & k & l &"").sort Key1:= worksheet("tmpgraph").Range("G4")

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour,

    pour moi si il y en a une !

    Avec l'Enregistreur de macros, dans un classeur comportant deux feuilles de calculs,
    sélectionner celle qui n'est pas active puis lire le code ainsi obtenu …

    Ne pas confondre objet (Worksheet) et collection (Worksheets) !

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 67
    Par défaut
    Tout d'abord merci de t'être intéressé à mon problème. Le "worksheet" est une simple erreur de frappe de ma part, ce n'est pas mon soucis. En fait je cherche simplement a remplacer les lettres ET le chiffre d'un Range. Par exemple, je voudrais remplacer Range("A1:B4") par Range(k,i:k+1,i+3) mais je ne trouve pas la bonne syntaxe. J'ai tenté un range(.cells(i, k), .cells(i+3, k+1) ) mais ça ne passe pas non plus...
    J'espère que je me suis fait comprendre.
    Merci encore

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("tmpgraph").Range(Worksheet("tmpgraph").Cells(l, k), Worksheets("tmpgraph").Cells(l, k + 1)).Sort...
    Ou en simplifiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Worksheets("tmpgraph")
        .Range(.Cells(l, k), .Cells(l, k + 1)).Sort...
     
    End With
    Ou en re simplifiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Worksheets("tmpgraph")
        .Cells(l, k).Resize(, 2).Sort...
     
    End With

Discussions similaires

  1. [XL-2003] range Variables Offset
    Par Djromé dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/11/2011, 11h04
  2. [XL-2007] Vlookup et range variable
    Par luko6 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/11/2009, 14h50
  3. Somme d'une colonne (avec nombre de rangée variable)
    Par Berny77 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/05/2008, 23h30
  4. Graph et range variable
    Par fantii dans le forum Excel
    Réponses: 14
    Dernier message: 29/02/2008, 20h59
  5. Range variable selon critère
    Par Blobomotz dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/07/2007, 06h41

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