écrire jusqu'a la ligne 200 puis continuer le traitement sur  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

écrire jusqu'a la ligne 200 puis continuer le traitement sur

Messagepar dorko45 » 02 Fév 2012, 12:52

Bonjour à tous,

Je suis débutante en VBA Excel.
Je travaille actuellement sur une macro qui va chercher des infos dans un fichier

.XML et les mets en forme dans excel.

Le resultat final comporte plusieurs centaines de lignes.
Je souhaiterais donc que la macro écrive les 200 premieres lignes sur la page

active puis continue le traitement des lignes restantes dans une nouvelle page.

Malheureusement, pour le moment la macro me crée bien une autre feuille mais

écrit directement dessus.
La feuille d'origine elle, reste vide.

Il me manque un bout de code pour dire à la macro, si tu dépasses 200 lignes

écrit dans cette page jusqu'a la ligne 200 puis crée la nouvelle feuille et fini

le traitement sur celle ci.

Pour cela, j'ai récupéré la condition ci dessous mais je ne parviens pas à dire

ce qu'il manque ...

If nb_insta > 200 Then
???
else
ActiveWorkbook.Sheets.Add
end if


Milles mercis à vous pour votre précieuse aide.

Bonne journée

Béatrice
dorko45
Utilisateur occasionnel
 
Messages: 11
Inscription: 02 Fév 2012, 12:50
Version Excel: 2003

Re: écrire jusqu'a la ligne 200 puis continuer le traitement

Messagepar Banzai64 » 02 Fév 2012, 14:37

Bonjour
dorko45 a écrit: pour le moment la macro me crée bien une autre feuille mais
écrit directement dessus.


C'est pas ce que tu voulais ?
Si plus de 200 lignes création de la page et continue à écrire sur la nouvelle page

dorko45 a écrit:La feuille d'origine elle, reste vide.

C'est quoi cette feuille d'origine ?

Le fait de joindre la macro (le minimum) ou les fichiers concernés (le must) facilitera l'émergence d'une solution
Image
Avatar de l’utilisateur
Banzai64
Passionné d'Excel
 
Messages: 4594
Inscription: 21 Nov 2010, 16:42
Localisation: Jurançon
Version Excel: 2003 FR

Re: écrire jusqu'a la ligne 200 puis continuer le traitement

Messagepar dorko45 » 02 Fév 2012, 17:07

Bonjour,

Merci beaucoup pour vos réponses.

Oui, ce que je désire, c'est lorsque j'atteins 200 lignes, la macro me crée une nouvelle page et continue le traitement du fichier sur l'autre page.

Je vous joins la macro ainsi que les 2 fichiers XML associés.

Il faut choisir le fichier "poste_operateur.xml" lorsque la macro le demande. Ensuite elle va aller prendre les autres infos dans le fichier "poste_operateurInstances.xml"
Il faut donc placer ces fichiers au même endroit.

Actuellement la macro écrit tout sur la même feuille.
Si je rajoute le bout de code spécifié dans mon premier message, elle me crée une page 2 mais n'écrit rien en page 1.

Mille mercis pour votre aide précieuse.

Bonne fin de journée

Cordialement
Béatrice
Fichiers joints
poste_operateurInstances.xml
(297.84 Kio) Téléchargé 6 fois
poste_operateur.xml
(5.09 Kio) Téléchargé 5 fois
Macro mise en forme XML V3_63_bm.xlsm
Macro
(36.19 Kio) Téléchargé 5 fois
dorko45
Utilisateur occasionnel
 
Messages: 11
Inscription: 02 Fév 2012, 12:50
Version Excel: 2003

Re: écrire jusqu'a la ligne 200 puis continuer le traitement

Messagepar Banzai64 » 02 Fév 2012, 17:49

Bonjour

Si j'ai bien suivi
A bien vérifier

Rajoutes la partie de code en couleur
Code: Tout sélectionner

'
' Début du code
'
' Nouvelle Instance
       If Mid(ligne_lue, 2, 25) = "InstanceDescription alias" Then
            refcel = refcel + 1
If refcel > 200 Then
              Sheets.Add after:=Sheets(Sheets.Count)
              ActiveSheet.Name = "Page " & Format(Sheets.Count, "000")
              Sheets(1).Rows(1).Copy Rows(1)
              refcel = 2
            End If

'
' Suite du code
'


Mais il va y avoir des soucis pour le tri, la mise ne place des filtres et ...... ?
Image
Avatar de l’utilisateur
Banzai64
Passionné d'Excel
 
Messages: 4594
Inscription: 21 Nov 2010, 16:42
Localisation: Jurançon
Version Excel: 2003 FR

Re: écrire jusqu'a la ligne 200 puis continuer le traitement

Messagepar dorko45 » 03 Fév 2012, 11:12

Bonjour,

Merci pour votre aide.
J'ai tenté d'intégrer cette formule à ma macro, mais ça me fait toujours pareil :-(

Je ne vois pas ce qui plante, il me dit Déclaration déjà existante et me montre Dim Refcel As long ...
J'ai tenté avec nb_insta aussi mais ce n'est pas mieux :-(

j'ai épluché votre réponse, je l'ai un peu "mélangé" avec mon code, mais rien a faire :-( ma macro est trop compliqué . Je la récupère d'un collegue qui est parti et je galere car personne ne connait Excel à mon bureau du coup pfff c'est pas évident.

Merci encore pour votre aide

Cordialement
Béatrice
dorko45
Utilisateur occasionnel
 
Messages: 11
Inscription: 02 Fév 2012, 12:50
Version Excel: 2003

Re: écrire jusqu'a la ligne 200 puis continuer le traitement  Sujet résolu

Messagepar Banzai64 » 03 Fév 2012, 11:43

Bonjour

Voir ce fichier que j'avais commencé à étudier
Fichiers joints
dorko45 Macro mise en forme XML V3_63_bm V001.xlsm
(29.44 Kio) Téléchargé 6 fois
Image
Avatar de l’utilisateur
Banzai64
Passionné d'Excel
 
Messages: 4594
Inscription: 21 Nov 2010, 16:42
Localisation: Jurançon
Version Excel: 2003 FR

Re: écrire jusqu'a la ligne 200 puis continuer le traitement

Messagepar dorko45 » 03 Fév 2012, 12:36

Re Bonjour,

Je ne sais pas comment vous remercier :thx:

C'est SUPER ce que vous avez fait ! La macro fonctionne très bien. :appl:

Il me reste juste à faire la mise en page au niveau des filtres.
Le résultat final est là et je suis super heureuse.

Un million de fois mercis pour votre aide très précieuse.
Vous êtes super !

Excellente journée à vous (°v°)°

Béatrice
dorko45
Utilisateur occasionnel
 
Messages: 11
Inscription: 02 Fév 2012, 12:50
Version Excel: 2003


Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Google Adsense [Bot], MASK et 13 invités