Se connecter avec
S'enregistrer | Connectez-vous

suppr ligne sous condition

Dernière réponse : dans Programmation

St tout le monde
j'ai besoin de créer une macro qui permet de supprimer des lignes sous quelques conditions.
exemlpe1:
A
p
5
S
Z
2
B
Exemple2
A
5
Z
B
Exemple3
A
6
S
B
alors mon but c'est de créer une macro qui me permet de supprimer toutes les lignes qui existent entre A et B sachant que je peux avoir 2, 3 , 10 , ......, 200 lignes entre A et B
Voilà ma macro mais malheureusement, ça marche pas
  1. Sub suppr_ligne()
  2. Dim i As Integer
  3. Dim j As Integer
  4. For i = 200 To 2 Step -1 'j'ai mis 200 parce que au maximum je peux avoir 200 lignes entre A et B'
  5. If Cells(i, 1) = "B" Then
  6. i = j
  7. End If
  8. Next i
  9. For i = j - 1 To 2 Step -1
  10. Rows(i).Delete shift:=xlUp
  11. Next i
  12. End Sub

S'il y a quelqu'un qui a une idée, merci de m'aider

Autres pages sur : suppr ligne condition

Lassé par la pub ? Créez un compte

littlerain bow> merci pour ton aide, j'ai essayé ta macro mais malheureusement ça marche pas, je pense qu'il faut définir une limite parce que la boucle tourne sans arrêter.
zeb> i=j peut être ça pas de sens, mais mon but c'est de définir le numéro de la ligne pour laquelle la cellule contient B.
voilà

littlerain bow>, c'est moi qui a fait une faute, désolé
Ta macro marche bien
Merci encore une fois
zeb> peux tu m'expliquer le truc de i=j s'il te plait, je sais bien que ça se fait mais je sais pas comment définir le numéro de la ligne d'une cellule bien défini.
littlerain bow> juste une petite question, peux tu m'expliquer cette ligne s'il te plait
  1. ActiveCell.Offset(1, 0).Select

Merci d'avance pour votre aide
Cdt
Expert Programmation

  1. i=j
Même en te relisant ?
Ecris plutôt ça, ça ira mieux :
  1. j=i


Citation :
peux tu m'expliquer cette ligne

M'enfin, il suffit de lire (et de comprendre) l'aide en ligne.

Savoir où chercher, trouver l'information, est une chose, jamais facile, pour le newbee ou pour le guru.
Savoir comment chercher s'acquière avec le temps, c'est justement bien là une grosse différence entre newbee et guru.
Ne pas savoir lire quand on te met le nez dessus, c'est grave, quand même.

littlerainbow> merci pour l'explication
zeb> bonne remarque, juste une petite chose, c'est que j'ai jamais eu de cours de programmation, j'ai fait une autoformation (j'achète des livres de programmation).
Concernant la ligne 6 i=j : t'as raison , il faut maitre j=i parce qu'on va affecter la valeur de i à j et non pas le contraire.

Encore une fois, Merci bien pour votre aide
Expert Programmation

En général, je ne donne pas de solution toute faite. Je préfère te mettre le nez dessus. C'est pour moi une forme de respect. C'est ton code, pas le mien, ce sont tes corrections, pas les miennes, autoformation ou pas.

En passant, lire l'aide de Offset aurait fait partie de ton autoformation.

Quoi qu'il en soit, bon, courage, et à bientôt dès que ça coince ;) 
Lassé par la pub ? Créez un compte