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

Excel Discussion :

Resize qui ne veut rien savoir [XL-2007]


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Valorisation & Transfert de technologies
    Inscrit en
    Juin 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Valorisation & Transfert de technologies

    Informations forums :
    Inscription : Juin 2014
    Messages : 43
    Points : 38
    Points
    38
    Par défaut Resize qui ne veut rien savoir
    Bonjour,

    Je bloque depuis plus d'une heure sur un resize... oui oui !

    Je suis dans une feuille A et je veux sélectionner un Range d'une feuille B voyez dont...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    nbMois = CInt(Worksheets("statSQL").Range("F1").Value)
    Dim range1 As Range
    Dim range2 As Range
    Dim objRange As Range
     
        'range des en-tête de mois
        Set range1 = Worksheets("statSQL").Range("A9:B11").Resize(0, nbMois + 1)
     
        'range des données
        Set rg = Worksheets("statSQL").Range("A9:B11").Resize(0, nbMois)
     
        'range total
        Set objRange = Union(range1, range2)
    J'ai essayé à peu près toutes les combinaisons possibles et imaginables il ne veut rien savoir...

    En passant par Cells
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("statSQL").Range(Worksheets("statSQL").Cells(3, 1)).Resize(0, nbMois + 1).Resize(0, nbMois + 1)
    En deux lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Set range1 = Worksheets("statSQL").Range("A3:B3")
        range1.Resize 0, nbMois
    Ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Set range1 = Worksheets("statSQL").Range("A3:B3")
       range1= range1.Resize(0, nbMois)
    J'avoue mon incompréhension....

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 765
    Points : 28 623
    Points
    28 623
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dire que l'on bloque ne donne aucune indication.
    Soit on bloque parce-que l'on ne sait pas comment faire, soit parce-que le système bogue (ce qui est sans aucune doute ce qui arrive vu le paramètre envoyé à la propriété Resize qui en général n'apprécie pas du tout la valeur 0) et alors il y a inévitablement un message d'erreur à une ligne précise.
    C'est justement cela qui nous intéresse pour t'aider. Le n° de l'erreur, le texte qui l'accompagne et à quelle ligne (le N° de la ligne).

    La propriété Resize de l'objet Range doit avoir comme argument un n° compris entre 1 et x pour la ligne comme pour la colonne où si l'on souhaite garder le nombre de ligne ou de colonne initial (la syntaxe est par exemple Resize(, 4)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    0 en nombre de lignes ça ne doit pas lui plaire.
    Laissez le paramètre vide pour ne pas préciser de changement de taille sur les lignes.
    D'ailleurs il devrait y avoir une erreur d'exécution, à moins qu'un "on error resume next" ne traine quelque part.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Valorisation & Transfert de technologies
    Inscrit en
    Juin 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Valorisation & Transfert de technologies

    Informations forums :
    Inscription : Juin 2014
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    Effectivement c'était bien le zéro !
    Le livre avec lequel je m'aide ne précise pas que 0 n'est pas supporté par la méthode, c'est vraiment contre-intuitif.

    Bien que je ne l'ai pas précisé il s'agit de l'erreur d'execution 1004 : erreur définie par l'application ou l'objet.
    Merci à vous deux.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 765
    Points : 28 623
    Points
    28 623
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le livre avec lequel je m'aide ne précise pas que 0 n'est pas supporté par la méthode, c'est vraiment contre-intuitif.
    Je suis d'accord que ce n'est pas toujours intuitif mais est-ce logique d'avoir une plage de cellules sans ligne (0) ou sans colonne (0). Une plage d'excel doit avoir au minimum 1 ligne et 1 colonne.
    Tu peux aussi utiliser un argument nommé au lieu d'utiliser un argument vide ainsi tu évites la virgule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Objet.Resize(Columnsize:=5)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Margin qui ne veulent rien savoir !
    Par Msieurduss dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/02/2008, 14h24
  2. Requete OR qui ne ramene rien
    Par Sapience dans le forum Langage SQL
    Réponses: 10
    Dernier message: 14/04/2005, 12h12
  3. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 20h25
  4. [VB.NET] DataTable.Clone ne veut rien savoir
    Par anthony70 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/12/2004, 19h57
  5. [LG]Programme qui n'affiche rien
    Par ousunas dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2004, 19h38

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