|
Page : 1 2 Page Précédente | |
Auteur | Sujet : bug PC à cause d'une macro |
Publicité | Posté le 05-02-2013 à 13:27:11 |
minimoack | Si la cellule ne commence pas par D, Alors on supprime la ligne, et on décrémente i pour reprendre correctement le parcours des lignes
|
vave Nice to meet me | For each et like doivent utiliser pas mal de mémoire je pense. Tu devrais essayer avec une boucle type do ... loop et à la place du like "D*" faire un left(cells(i,1).value, 1) = "D".
Y a sûrement des erreurs dans mon code, je l'ai écrit directement dans le post. Message édité par vave le 05-02-2013 à 14:00:12 --------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
minimoack | je n'ai pas LigneMax, vu que le tableau ne sera pas toujours de la même taille... |
vave Nice to meet me | Tu peux la trouver comme ça :
1048576 à partir d'excel 2007, 65536 avant. Ca revient à te positionner tout en bas de l'onglet et de faire ctrl + flèche du haut => ça t'emmène à la dernière cellule renseignée. Message édité par vave le 05-02-2013 à 14:09:04 --------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
minimoack | ooooh... c'est bon à savoir ça!!
|
minimoack | alors... j'ai fait :
|
minimoack | avec ligneMax = Range("A65536 " ).End(xlUp).Row |
minimoack | et le problème vient de cette partie du code, vu que si je mets le do loop en commentaire, ça fonctionne... Là j'ai eu mon écran qui a "clignoté un peu", puis mon PC a redémarré... |
minimoack | erreur stupide j'ai fait Message édité par minimoack le 05-02-2013 à 14:52:41 |
Publicité | Posté le 05-02-2013 à 14:52:29 |
vave Nice to meet me | Tu as encore le problème ?
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
rufo Pas me confondre avec Lycos! | Tu ferais mieux de partir de la première colonne de la première ligne et scanner le contenu et voir s'il est non nul (ou prendre une autre colonne), passer à la suivante jusqu'à trouver la dernière ligne de ton tableau.. Ca devrait aller plus vite que de partir de la fin du nb de lignes max d'Excel --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
Marc L | |
minimoack |
mais ça ne marchait pas... |
vave Nice to meet me |
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
minimoack |
|
minimoack | si je supprime la ligne 3 par exemple, la ligne 4 va prendre la place de la ligne 3. Donc je dois décrémenter i quand je supprime, et l'incrémenter à la fin de ma boucle |
minimoack |
|
vave Nice to meet me | Comme ça sinon :
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
Marc L | |
vave Nice to meet me | Et pour les 3 lignes vides, tu ajoutes un compteur :
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
minimoack | ça ne peut pas marcher, il va boucler à l'infini non? |
minimoack | je vais essayer! si je mets du temps à répondre, c'est que mon PC a planté! |
Marc L |
|
minimoack | bon... je viens de redémarrer...
|
vave Nice to meet me |
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
minimoack | ça marche avec xlDown, et pas avec xlUp |
minimoack | je ne sais pas vraiment pourquoi... mais avec xlUp il m'éteignait systématiquement l'ordi, et avec xlDown non... j'ai tout ce que je veux là... ben Merci pour votre aide |
minimoack | Un dernier petit truc : |
vave Nice to meet me | Si tu dois tester toutes les lignes, il vaut mieux utiliser la même boucle, ça les parcourras qu'une seule fois.
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
minimoack | oki merci |
minimoack | Bon... en fait ça me shut down Message édité par minimoack le 05-02-2013 à 16:43:10 |
minimoack | Voici donc mon code actuel :
|
vave Nice to meet me | T'as beaucoup de lignes ?
--------------- Bel ours Vave, je me dois de l’admettre. -Skyl"win"- Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1 |
Marc L | La feuille traitée a l'air d'être la feuille active, fait-elle partie du classeur contenant le code ou d'un autre classeur ?
De plus, je suppose que la première ligne ne doit pas être supprimée (à cause du test avec la cellule A1),
Astuce : la première ligne permet de suspendre la boucle via la touche ECHAP … Message édité par Marc L le 06-02-2013 à 01:44:00 |
minimoack | Alors : |
Marc L | Mais cela demande une vue d'ensemble, insuffisante avec des bouts de code … Message édité par Marc L le 06-02-2013 à 10:16:54 |
minimoack | je vais le faire merci |
minimoack | c'est ma principale fonction.
|
Marc L |
puis cette référence est utilisée dans le code
(l'utilisation de variables objet est pratique pour "naviguer" entre 2 classeurs ou feuilles),
|
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
Macro excel : le nom de variable apparaît dans la formule excel | MACRO EXCEL |
Macro Word 2010 / Autoexec replace | macro copier coller |
Aide pour Macro Excel | macro sur excel |
Macro | Comment exécuter ma macro Excel automatiquement ? |
macro recherche cellules dans 2 fichiers | Mise en page d'un signet sous Word par macro |
Plus de sujets relatifs à : bug PC à cause d'une macro |