Macro effacer lignes dans feuille excel [Résolu]

renato64 5 Messages postés dimanche 17 janvier 2010Date d'inscription 5 mars 2010 Dernière intervention - 4 mars 2010 à 19:06 - Dernière réponse : renato64 5 Messages postés dimanche 17 janvier 2010Date d'inscription 5 mars 2010 Dernière intervention
- 5 mars 2010 à 21:20
Bonjour
Je cherche une macro excel pour effacer des lignes dans une feuille.
Il faudrait effacer toutes les lignes du début jusqu'à la ligne ou il y a un mot "bonjour" et effacer aussi cette ligne.
Merci de me donner une réponse

Renato
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 mars 2010 à 11:02
3
Merci
Félicitations ...
N'oublie pas de cliquer sur réponse acceptée (sur message avec solution)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de ucfoutu
NHenry 14262 Messages postés vendredi 14 mars 2003Date d'inscription 22 septembre 2018 Dernière intervention - 4 mars 2010 à 19:39
0
Merci
Bonjour,

Demande à Excel d'enregistrer une macro et regarde le code généré.

Mon site
Commenter la réponse de NHenry
renato64 5 Messages postés dimanche 17 janvier 2010Date d'inscription 5 mars 2010 Dernière intervention - 4 mars 2010 à 21:08
0
Merci
Bonsoir
La ligne ou se trouve "Bonjour" est aléatoire dans la feuille, faudrait une recherche du mot et supprimer tout ce qui est avant.
Renato
Commenter la réponse de renato64
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 4 mars 2010 à 21:28
0
Merci
Bonjour,
Bien.
Commence donc par le commencement, à savoir déterminer la ligne contenant ce mot (nous verrons le reste seulement ensuite).
Tu as pour ce faire à utiliser la méthode Find. Elle est exposée dans ton aide Excel et y est assortie d'un exemple clair, qui te permettra d'extraire l'adresse de la ligne concernée.
Reviens après avoir passé ce cap et nous verrons alors ce qyu'il convient de faire pour supprimer tout jusqu'à ladite ligne incluse


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
renato64 5 Messages postés dimanche 17 janvier 2010Date d'inscription 5 mars 2010 Dernière intervention - 5 mars 2010 à 09:48
0
Merci
Bonjour

J'ai trouvé cette macro,ça marche et ça renvoie en D1 le nombre de ligne à effacer

Sub Macro1()

'Recherche de "bonjour"
Cells.Find(What:="bonjour", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

'Position en D1 du nb de lignes
Ligne = ActiveCell.Row
Range("D1").Value = Ligne

End Sub

Et maintenant.......
Peut-être que je dois chercher comment les effacer ?
Avec une boucle ou bien de la cellule A1 a la cellule A+15,(ce serai bien qu'en D1,j'ai la position cellule (A15), mais comment ?
J'attend que vous me guidiez
A bientôt
Renato
Commenter la réponse de renato64
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 mars 2010 à 10:28
0
Merci
Tu as passé la première étape par toi-même et je t'en félicite (c'est beaucoup mieux, d'apprendre à pêcher)

Deuxième étape ? ===>> un exemple (teste-le) :
Range(Rows(1), Rows(11)).Delete

t'efface les lignes 1 à 11 incluses
Par quoi remplacer 11 ? ===>> par ta variable Ligne
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
renato64 5 Messages postés dimanche 17 janvier 2010Date d'inscription 5 mars 2010 Dernière intervention - 5 mars 2010 à 10:44
0
Merci
Super !!!!!!!!!!!!

Je suis content d'avoir trouvé (presque...) tout seul.
C'est très bien de guider plutôt que de pondre tout fait.
Je continue ma macro et peut-être à bientôt si je cale.

Grand merci !!!!!!!

Bonne continuation

Renato
Commenter la réponse de renato64
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 mars 2010 à 21:00
0
Merci
Bien (j'ai du temps pour toi et tu le mérites) :
1) que se passerait-il si aucune cellule ne contenait le mot recherché ("bonjour") ? ===>> plantage assuré
2) pourquoi partir de ActiveCell (qui t'oblige à la sélectionner d'abord) ?
3) pourquoi aller chercher aussi dans les formules ? (c'est là inutile, puisque seules les valeurs t'intéressent
4) pourquoi sélectionner la cellule trouvée pour en déterminer le n° de ligne ? 'Ce n'est pas "léger" et c'est donc à éviter)
regarde ce que donne l'application de ces principes, en allant tout droit au but :
 Dim toto As Range
 Set toto = Cells.Find(What:="bonjour", After:=Range("A1"), LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
 If Not toto Is Nothing Then ' <<<=== c'est là qu'on vérifie que le mot existe dans une des cellules (et on ne fait rien dans le cas contraire)
   Range(Rows(1), Rows(toto.Row)).Delete " <<<<<==== on va direcxtement au but (sans passer par une variable tremplin)
 End If


Anayse bien ce code. Je suis certain que tu en comprendras tout et de ce que tu garderas en mémoire que toutes les sélections, etc... ne servent qu'à alourdir, alors qu'on peut toujours "pointer" directement
Tu as fait un début qui m'a donné envie de te guider. Continue maintenant en gardant présentes à l'esprit ces recommandations (toujours).
Amitiés.
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
renato64 5 Messages postés dimanche 17 janvier 2010Date d'inscription 5 mars 2010 Dernière intervention - 5 mars 2010 à 21:20
0
Merci
Bonsoir
Bien reçu le code
C'est du complet bien fait.......
En fait j'aime bien les choses logiques, précises et efficaces.
J'ai laissé tombé quick-Basic pour excel et je découvre de grosses possibilités, mais avec un peu de peine pour ce langage.
Je prend note de raisonner comme tu me le conseille et j'espère progresser (avec le forum...)
Merci pour les conseils

Renato
Commenter la réponse de renato64

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.