OVH Cloud OVH Cloud

Comment faire une macro a trois conditions dans trois colonnes differentes

3 réponses
Avatar
Chantalan
Bonjour,

Je suis novice dans les macros

Je voudrais que ma macro fasse une copie de la feuille1, qu'elle supprime les deux premières lignes de la copie. (car ce n'est pas les entêtes de lignes, elles ne font pas partie de mon tableau) Jusque la ca va bien.
Je voudrais que
s'il y a AVR-16 d'inscrit dans la colonne B et
s'il y a Y d'inscrit dans la colonne D et
si la cellule dans la colonne F n'est pas vide
supprime la ligne au complet
mais je n'y arrive pas.
Pour supprimer la ligne remplir les trois conditions

J'ai essayé d’insérer un filtre..... je ne sais pas quoi faire.

Je peux avoir un tableau de 700 lignes un mois et l'autre mois 20 000 lignes

Le nombre de lignes dans mon tableau n'est jamais pareils
Pourriez-vous m'aider s,v,p


Merci beaucoup de votre aide.
Voici le debut de ma macro

Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("e;Feuil1"e;).Select
Sheets("e;Feuil1"e;).Copy Before:=Sheets(1)
Rows("e;1:2"e;).Select
Rows("e;1:2"e;).Select
Selection.Delete Shift:=xlUp
End Sub

3 réponses

Avatar
isabelle
bonjour Chantalan,

pour supprimer des lignes à l'intérieur d'une boucle (For...Next) il faut
commencer par la dernière ligne.

Sub Macro1()
Dim LastRow As Long, i As Long
Sheets("Feuil1").Copy Before:=Sheets(1)
Rows("1:2").Delete Shift:=xlUp
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = LastRow To 2 Step -1
If Cells(i, 2) = "AVR-16" And Cells(i, 4) = "Y" And Cells(i, 6) <> "" Then
Rows(i).Delete Shift:=xlUp
End If
Next
End Sub

isabelle

Le 2016-05-25 18:21, Chantalan a écrit :
Bonjour,

Je suis novice dans les macros

Je voudrais que ma macro fasse une copie de la feuille1, qu'elle supprime les
deux premières lignes de la copie. (car ce n'est pas les entêtes de lignes,
elles ne font pas partie de mon tableau) Jusque la ca va bien.
Je voudrais que
s'il y a AVR-16 d'inscrit dans la colonne B et
s'il y a Y d'inscrit dans la colonne D et
si la cellule dans la colonne F n'est pas vide
supprime la ligne au complet
mais je n'y arrive pas.
Pour supprimer la ligne remplir les trois conditions

J'ai essayé d’insérer un filtre..... je ne sais pas quoi faire.

Je peux avoir un tableau de 700 lignes un mois et l'autre mois 20 000 lignes

Le nombre de lignes dans mon tableau n'est jamais pareils
Pourriez-vous m'aider s,v,p


Merci beaucoup de votre aide.
Voici le debut de ma macro

Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("e;Feuil1"e;).Select
Sheets("e;Feuil1"e;).Copy Before:=Sheets(1)
Rows("e;1:2"e;).Select
Rows("e;1:2"e;).Select
Selection.Delete Shift:=xlUp
End Sub

Avatar
isabelle
ps/ j'ai supposé qu'il y avait des données en colonne A
si ce n'est pas le cas, il faut modifier
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
en changeant le 1 par le numéro de la colonne complètement renseignée.
isabelle

Le 2016-05-25 20:26, isabelle a écrit :
bonjour Chantalan,

pour supprimer des lignes à l'intérieur d'une boucle (For...Next) il faut
commencer par la dernière ligne.

Sub Macro1()
Dim LastRow As Long, i As Long
Sheets("Feuil1").Copy Before:=Sheets(1)
Rows("1:2").Delete Shift:=xlUp
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = LastRow To 2 Step -1
If Cells(i, 2) = "AVR-16" And Cells(i, 4) = "Y" And Cells(i, 6) <> "" Then
Rows(i).Delete Shift:=xlUp
End If
Next
End Sub

isabelle

Le 2016-05-25 18:21, Chantalan a écrit :
Bonjour,

Je suis novice dans les macros

Je voudrais que ma macro fasse une copie de la feuille1, qu'elle supprime les
deux premières lignes de la copie. (car ce n'est pas les entêtes de lignes,
elles ne font pas partie de mon tableau) Jusque la ca va bien.
Je voudrais que
s'il y a AVR-16 d'inscrit dans la colonne B et
s'il y a Y d'inscrit dans la colonne D et
si la cellule dans la colonne F n'est pas vide
supprime la ligne au complet
mais je n'y arrive pas.
Pour supprimer la ligne remplir les trois conditions

J'ai essayé d’insérer un filtre..... je ne sais pas quoi faire.

Je peux avoir un tableau de 700 lignes un mois et l'autre mois 20 000 lignes

Le nombre de lignes dans mon tableau n'est jamais pareils
Pourriez-vous m'aider s,v,p


Merci beaucoup de votre aide.
Voici le debut de ma macro

Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("e;Feuil1"e;).Select
Sheets("e;Feuil1"e;).Copy Before:=Sheets(1)
Rows("e;1:2"e;).Select
Rows("e;1:2"e;).Select
Selection.Delete Shift:=xlUp
End Sub

Avatar
chantalan
Le jeudi 26 Mai 2016 à 02:26 par isabelle :
bonjour Chantalan,

pour supprimer des lignes à l'intérieur d'une boucle (For...Next)
il faut
commencer par la dernière ligne.

Sub Macro1()
Dim LastRow As Long, i As Long
Sheets("Feuil1").Copy Before:=Sheets(1)
Rows("1:2").Delete Shift:=xlUp
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = LastRow To 2 Step -1
If Cells(i, 2) = "AVR-16" And Cells(i, 4) = "Y" And
Cells(i, 6) <> "" Then
Rows(i).Delete Shift:=xlUp
End If
Next
End Sub

isabelle

Le 2016-05-25 18:21, Chantalan a écrit :
Bonjour,

Je suis novice dans les macros

Je voudrais que ma macro fasse une copie de la feuille1, qu'elle supprime les
deux premières lignes de la copie. (car ce n'est pas les entêtes
de lignes,
elles ne font pas partie de mon tableau) Jusque la ca va bien.
Je voudrais que
s'il y a AVR-16 d'inscrit dans la colonne B et
s'il y a Y d'inscrit dans la colonne D et
si la cellule dans la colonne F n'est pas vide
supprime la ligne au complet
mais je n'y arrive pas.
Pour supprimer la ligne remplir les trois conditions

J'ai essayé d’insérer un filtre..... je ne sais pas quoi
faire.

Je peux avoir un tableau de 700 lignes un mois et l'autre mois 20 000 lignes

Le nombre de lignes dans mon tableau n'est jamais pareils
Pourriez-vous m'aider s,v,p


Merci beaucoup de votre aide.
Voici le debut de ma macro

Sub Macro1()
'
' Macro1 Macro
'
'
Sheets("e;Feuil1"e;).Select
Sheets("e;Feuil1"e;).Copy Before:=Sheets(1)
Rows("e;1:2"e;).Select
Rows("e;1:2"e;).Select
Selection.Delete Shift:=xlUp
End Sub




Merci beaucoup cela fonctionne très bien! C'est très gentil de votre part. Je vous souhaite une très belle journée car vous avez ensoleillée la mienne.