Excel 2010: macro avec lignes relatives

Fermé
El-sol - 6 mai 2014 à 21:27
Ju@nita Messages postés 149 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 8 août 2024 - 8 mai 2014 à 13:47
Bonjour,

Dans un fichier, j'ai environ 500 clients. Plus bas, après plusieurs lignes vides, il y a d'autres choses que je veux effacer avant de continuer mon tri.
Je veux incorporer ça dans ma macro.
Mettons que mes clients et leurs données sont dans les lignes 1 à 500 et qu'entre A525 et F550, (lignes qui varie tout le temps), il y a du texte que je veux effacer.
Mais il y a toujours plusieurs lignes blanches entre les clients et le texte.

il me manquerait ce petit bout à mettre dans ma macro pour dire d'effacer ce qui est dans un bloc plus loin que mes clients mais jamais aux mêmes lignes.

merci pour votre aide

A voir également:

6 réponses

eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
6 mai 2014 à 22:52
Bonjour,

si ce sont les seules lignes vide en A :
Rows([A1].End(xlDown).End(xlDown).Row & ":" & [A1].End(xlDown).End(xlDown).End(xlDown).Row).EntireRow.Delete

eric
0
est-ce que je dois copier ça tel quel ou il y a des endroits où je dois modifier des choses ?
et il faut que j'efface les espaces ?

car ça marche pas. ça dit: utilisation incorrecte de la propriété.
Je ne suis pas très calée en langage VBA.

merci de m'aider.
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
7 mai 2014 à 14:46
Ben c'est à mettre avant ton tri puisque c'est ce que tu voulais.
Et comme je ne sais pas à quoi ressemble ton fichier je ne peux pas en dire plus.

eric
0
c'est pour ça que j'avais donné un exemple:

qu'entre A525 et F550, (lignes qui varie tout le temps), il y a du texte que je veux effacer.

si je copie ta formule avant mon tri dans ma macro:

Rows([A1].End(xlDown).End(xlDown).Row & ":" & [A1].End(xlDown).End(xlDown)

ça marche pas.
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
7 mai 2014 à 18:41
Si tu la mettais en entier ?
Rows([A1].End(xlDown).End(xlDown).Row & ":" & [A1].End(xlDown).End(xlDown).End(xlDown).Row).EntireRow.Delete
Et ça ne marche pas ne veut rien dire.

eric
0
ça n'a rien donné.
Ce coup-ci, il n'y avait pas de message "utilisation incorrecte de la propriété" mais ça n'a rien effacé du tout. :(

Le texte en bas est encore là.
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
Modifié par eriiic le 7/05/2014 à 19:35
J'avais bien écris :
si ce sont les seules lignes vide en A
C'est le cas ?

Et tant que tu n'auras pas mis le fichier en question on n'avancera pas.

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ju@nita Messages postés 149 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 8 août 2024
Modifié par Ju@nita le 7/05/2014 à 20:00
ce ne sont pas les lignes vides que je veux effacer, mais le texte qui suit.
C'était pour préciser que le texte n'est pas collé sur la liste des clients.
Et il m'est difficile de joindre le fichier, il contient des tas d'informations confidentielles, 3 liens avec d'autres fichiers, pleins de formules et une macro.
C'est pour ça que j'ai juste fait un petit exemple.
Car si je mets une formule qui dit d'effacer ce qui est à partir de la ligne 525, et bien, si le coup suivant, ce texte débute à la ligne 524, cette ligne ne sera pas effacée.
Le fait d'avoir des lignes vides entre les 2 fait que je peux utiliser la fonction CTRL + flèche vers le bas 2 fois, mais dans une macro, ça fixe la formule avec une cellule précise. D'où le titre: lignes relatives. C'est cette formule que je cherche. Comment dire : va vers le bas vers le prochain groupe de texte, et efface tout ce qui suit.
Je suis désolée de ne pas être très claire dans mes explications. Je ne connais peut-être pas les bons termes pour m'exprimer en langage VBA.

Mais il semblerait que ma demande est mal comprise.

https://www.cjoint.com/?DEht7O0xZPR
voici un tout petit exemple de ce à quoi ressemble le bout que je veux effacer.

merci
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
7 mai 2014 à 21:47
Je ne te parlais pas d'effacer les lignes vides...
Mais que si il y a d'autres lignes vides ailleurs ça ne marchera pas.
Je traite le cas que tu as demandé et pas un autre. Si tu es dans un autre contexte ça n'ira pas.

Sinon c'est quoi le problème ?
Je viens d'essayer sur ton fichier et c'est ok : https://www.cjoint.com/?DEhvRnVOomj

eric
0
Ju@nita Messages postés 149 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 8 août 2024
8 mai 2014 à 13:47
ok ça fonctionne maintenant.
Je crois que c'était l'emplacement où j'avais inséré ta formule dans ma macro qui n'allait pas.

merci beaucoup pour ta patience.
0