Bonjour,
Je suis débutant dans l'utilisation de macro pour excel.
J'ai 2.3 problèmes à vous exposer :
Dans mon fichier excel qui va de j27 --> n27 avec longueur variante de 27 à xxx (où x = maximum 100) j'aimerais tout d'abord supprimer (seulement dans cette région j à n de 27 à xxx) toutes les lignes dans lesquels la cellule n = "Ouverture".
Merci beaucup
A voir également:
éliminer lignes excel quand cellules avec contenu x
rackamlerouge
Messages postés13Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention 7 octobre 20131 2 oct. 2013 à 17:18
Voici quelques indications pour trouver les instructions plus facilement. Ensuite l'aide d'excel complétera mes explications...
1)
Pour effacer le contenu d'un ensemble de cellule en ligne :
Worksheets(nomfeuil).Rows(i).ClearContents
nomfeuil = nom de la feuille, stocké dans la variable nomfeuil
i = index de la ligne à effacer (on peut mettre aussi un truc du style "3:5" = ligne de 3 à 5.)
2)
Pour sélectionner un ensemble de cellule :
Worksheets(nom_feuille).Range(cellule_depart & ":IV" & numéro_ligne_fin)
cellule_depart="C3", par exemple
numéro_ligne_fin=6, par exemple.
3)
Pour supprimer un ensemble de cellules ou ligne de cellules :
' Suppression des lignes en trop
Rows("2:" & ligne_fin).Delete Shift:=xlUp
Si on travaille sur des colonnes l'instruction est "columns...", pour des cellules "cells..."
L'option shift, indique la direction de suppression, donc on doit remonter les cellules en dessous, ou les faire venir les cellules placées à droite ou à gauche.
Sinon pour ton commentaire "toutes les lignes dans lesquels la cellule n = "Ouverture". " devrait donner un truc du genre
If Range("A5").value="Ouverture" then
...
endif
ou
If Cells(1,5).value="Ouverture" then
...
endif
Voilà j'espère que çà t'aidera. Mais on ne peut pas faire la macro à ta place sinon !
jordane45
Messages postés38142Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention20 avril 2024344 Modifié par jordane45 le 3/10/2013 à 02:34
Bonsoir,
Déjà, pensez à utiliser la coloration syntaxique lorsque vous postez du code (valable pour vous deux !! )
Ensuite, pour une demande aussi 'simple' il suffit bien souvent d'utiliser l'enregistreur de macro pour découvrir comment faire.
Et puis comme le souligne rackamlerouge, il existe une Aide sous Excel qui contient bon nombre de réponses.
Enfin bon... pour cette fois, je vous donne la solution toute faite..
Sub suppr()
'on boucle depuis le bas vers le haut
For l = 100 To 27 Step -1
If Range("n" & l).Value = "Ouverture" Then
Range("J" & l & ":N" & l).Select
Selection.Delete Shift:=xlUp
End If
Next
End Sub
Hello,
Merci pour ton aide, en effet j'ai utilisé l'enregistreur pour tout le reste, mais supprimer des lignes comme ça je ne sais même pas comment le faire en "manuel"... Bref, je suis une pomme dans le domaine et j'essai juste de programmer un minimum pour gagner du temps au travail...
J'ai essayé ton code il a fonctionné une fois, puis il ne fonctionne plus du tout, pourtant les macros sont activés et je n'ai rien changé (enfin j'ai revérifié et recopier ton code 50 fois), mais rien à y faire... Peut-être une idée ? ;-). En tout cas merci