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 :

créer une nouvelle feuille si limite des 65536 lignes atteinte


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut créer une nouvelle feuille si limite des 65536 lignes atteinte
    Bonjour,
    j'ai un probleme je manipules des donnes contenus dans des fichiers xml que j'importe dans des feuilles excel en vba .
    je récupère ces donnees que je traite à partir des feuilles excel en copiant et collant les données d'un feuille à l'autre.

    le pb est que si j'atteint les 65536 lignes( ce qui fait beaucoup ) mon programme bloque .

    je voudrais savoir si il existe un indicateur ou si il est possible de créer une nouvelle feuille pour coller les données lorsqu' atteint la limite de la première feuille.

    ( je conanis la fonction qui permettra de créer la feuille mais comment faire pour que le code l'excute???)

    Merci .


    j'ai essayé de mettre un If après le paste mais sa ne marche pas.


    voici la partie du code qui fait le copier coller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     Sheets(iSheet_mi).UsedRange.Offset(2, 0).Select
     
                       'on copy la plage selectionnée
                                        Selection.Copy
     
                       'selection de la feuille portant le MO
                                        Sheets(NomObj).Select
     
           ' on colle la plage selectionnée à partir de la ligne voulue pour ne pas écraser les données déja contenue
                                        Cells(compteur_remplissage, 1).Select
                                        ActiveSheet.Paste
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Points : 364
    Points
    364
    Par défaut
    Alors j'ai pas du tout testé hein, mais tu pourrais vérifier que ça rentre avant de coller.
    Genre après ta ligne
    Tu pourrais mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if Selection.Cells.Rows.Count + compteur_remplissage > 65536 then
                Sheets(activesheet.index + 1).Activate
                Sheets.Add
                compteur_remplissage = 1
    end if
    Voilà, à adapter certainement.

  3. #3
    Invité
    Invité(e)
    Par défaut
    A mon avis le code que vous donnez n'est pas assez explicite pour pouvoir vous aider.

    Il faudrait copier les données ligne à ligne jusqu'à ce que la dernière ligne à copier soit atteinte avant la 65536ème ligne et si ce n'est pas le cas ajouter une feuille et continuer la copie ou connaître la nombre d'enregistrements de votre fichier source pour copier plage par plage.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    y a la solution de compter le nombre de Paste que tu fais si tu copies/colle ligne par ligne

    Une fois arrivé à 65536, tu crées ta nouvelle feuille avant de continuer ton copier/coller

    Maintenant, si tu copier/colle par paquet de ligne, va falloir compter avant chaque paste, ombien de lignes tu vas colller et en fonction de ton compteur, savoir si il reste de la place ou non

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour Neupont,

    Télescopage de réponse.

    Mais attendant celle de Newcodeur.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut
    Merci pour vos contributions je vais tester vos suggestions et vous dire celle qui fonctionne.


    I'll be Back.......



Discussions similaires

  1. [XL-2003] Créer une nouvelle feuille dans un classeur
    Par spidey89 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/05/2010, 13h28
  2. Créer une nouvelle feuille
    Par lolonico dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/09/2008, 10h45
  3. Réponses: 1
    Dernier message: 13/05/2008, 12h44
  4. [C#] Créer une nouvelle feuille dans un classeur Excel
    Par amoiraud dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/03/2008, 08h53
  5. Réponses: 2
    Dernier message: 23/04/2007, 14h26

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