Comment inclure dans ma macro une 3e condition
chantalan
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
chantalan Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
chantalan Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
J'aurais besoin de votre aide.
J'ai deux macro qui fonctionnaient très bien. Mais maintenant je veux la modifier car j'ai trois conditions au lieu de deux.
Ma macro dit mettre un filtre, scroll la période AVR-16 dans la colonne I et
Scroll les Y dans la colonne AH (J'aimerais ajouter) et Scroll les cellules qui ont quelques choses d'écrit la la colonne AK pour l'instant j'ai inscrit AK vide mais C'est le contraire que je veux pour AK .Des qu'il y a quelque chose d'écrit.
ensuite delete les lignes qui remplissent ces trois conditions.
Mes deux macro sont différente mais je veux seulement inclure la troisième condition.
Je sais comment faire si elle serais vides mais pas avec du texte.
Je vous remercie sincèrement pour votre aide.
voici la premiere
Dim Dernligne As Long
Dernligne = ActiveSheet.range("A" & Rows.Count).End(xlUp).Row
For N = Dernligne To 1 Step -1
If range("A" & N) <> "" And range("I" & N) = "AVR-16" And range("AH" & N) = "Y" And range("AK" & N) = "" Then
Rows(N & ":" & N).Select
Selection.Delete Shift:=xlUp
End If
L'autre macro est un peu différente.
Option Explicit
Const coA = "A"
Const coN = "I"
Const coY = "AF"
Const N = "AVR-16"
Const Y = "Y"
Const lideb = 2
Sub finance()
'
' finance Macro
'
Sheets("factures").Select
Sheets("factures").Copy Before:=Sheets(1)
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Rows("1:1").Select
Selection.AutoFilter
Dim li As Long, lifin As Long
Application.ScreenUpdating = False
With ActiveSheet
lifin = .range(coA & Rows.Count).End(xlUp).Row
For li = lifin To lideb Step -1
If .range(coN & li) = N And .range(coY & li) = Y Then
Rows(li).Delete
End If
Next li
End With
Ici j'avais deux conditions maintenant j'en ai trois.
C'est la même chose que mon autre macro. 3 conditions pour effacer soit AVR-16, Y et s'il y a quelque chose d'inscrit dans les cellules de la colonne AR. Je pense que je dois changer mon option explicit mais je ne sais pas quoi faire. Aussi je sais que je dois ajouter quelque chose entre If .range(coN & li) = N And .range(coY & li) = Y Then mais je ne sais pas quoi?
merci mille fois de me repondre...
J'aurais besoin de votre aide.
J'ai deux macro qui fonctionnaient très bien. Mais maintenant je veux la modifier car j'ai trois conditions au lieu de deux.
Ma macro dit mettre un filtre, scroll la période AVR-16 dans la colonne I et
Scroll les Y dans la colonne AH (J'aimerais ajouter) et Scroll les cellules qui ont quelques choses d'écrit la la colonne AK pour l'instant j'ai inscrit AK vide mais C'est le contraire que je veux pour AK .Des qu'il y a quelque chose d'écrit.
ensuite delete les lignes qui remplissent ces trois conditions.
Mes deux macro sont différente mais je veux seulement inclure la troisième condition.
Je sais comment faire si elle serais vides mais pas avec du texte.
Je vous remercie sincèrement pour votre aide.
voici la premiere
Dim Dernligne As Long
Dernligne = ActiveSheet.range("A" & Rows.Count).End(xlUp).Row
For N = Dernligne To 1 Step -1
If range("A" & N) <> "" And range("I" & N) = "AVR-16" And range("AH" & N) = "Y" And range("AK" & N) = "" Then
Rows(N & ":" & N).Select
Selection.Delete Shift:=xlUp
End If
L'autre macro est un peu différente.
Option Explicit
Const coA = "A"
Const coN = "I"
Const coY = "AF"
Const N = "AVR-16"
Const Y = "Y"
Const lideb = 2
Sub finance()
'
' finance Macro
'
Sheets("factures").Select
Sheets("factures").Copy Before:=Sheets(1)
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Rows("1:1").Select
Selection.AutoFilter
Dim li As Long, lifin As Long
Application.ScreenUpdating = False
With ActiveSheet
lifin = .range(coA & Rows.Count).End(xlUp).Row
For li = lifin To lideb Step -1
If .range(coN & li) = N And .range(coY & li) = Y Then
Rows(li).Delete
End If
Next li
End With
Ici j'avais deux conditions maintenant j'en ai trois.
C'est la même chose que mon autre macro. 3 conditions pour effacer soit AVR-16, Y et s'il y a quelque chose d'inscrit dans les cellules de la colonne AR. Je pense que je dois changer mon option explicit mais je ne sais pas quoi faire. Aussi je sais que je dois ajouter quelque chose entre If .range(coN & li) = N And .range(coY & li) = Y Then mais je ne sais pas quoi?
merci mille fois de me repondre...
A voir également:
- Comment inclure dans ma macro une 3e condition
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Comment inclure une video dans un powerpoint - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
Dans ma première macro,(C'est moi)
j'avais ajouté s'il n'y a rien dans la colonne AK mais c'est le contraire que je veux. Je veux sélectionner les cellules qui a quelques choses d'inscrit dedans.
Ce que je veux faire c'est insérer un filtre, sélectionner les cellules dans la colonne I qui ont AVR-16 et sélectionner les cellules dans la colonne AH qui ont un Y ce que fait déja ma macro. Je voudrais en plus quelle sélectionne aussi les cellules dans la colonne AK qui ont quelques choses d'écrit. Pour la troisième condition que j'ai mis, je ne crois pas être correct. Car je crois avoir inscrit sélectionne les cellules vides au lieu de s'il y a quelque chose d'inscrit.
Pour la deuxième macro j'ai eu de l'aide. Je suis novice en macro.
Dans le deux cas je dois sélectionner les AVR-16, les Y et les cellules non vide dans une autre colonne.
Je te remercie de ton aide, c'est précieux pour moi.
Probablement parce que ma macro n'est pas correct au départ
je m'explique
exemple
Dans ma colonne I j'ai un AVR-16 dans ma colonne AG j'ai un Y et dans ma colonne AJ si j'ai quelque chose d'inscrit si les trois conditions supprime moi toute la ligne.
Il arrive que dans la colonne AJ j'ai rien d'inscrit alors elle n'efface pas les lignes suivantes
MAIS cela ne fonctionne pas avec ce que j'ai inscrit dans ma macro
la voici au complet
Sub Convertir_factures()
range("A1").Select
Sheets("factures").Select
Sheets("factures").Copy Before:=Sheets(1)
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Rows("1:1").Select
Selection.AutoFilter
range("A1:AM1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Dim Dernligne As Long
Dernligne = ActiveSheet.range("A" & Rows.Count).End(xlUp).Row
For N = Dernligne To 1 Step -1
If range("A" & N) <> "" And range("I" & N) = "AVR-16" And range("AH" & N) = "Y" And range("AK" & N) <> "" Then
Rows(N & ":" & N).Select
Selection.Delete Shift:=xlUp
End If
Next N
end sub
merci beaucoup de ton aide
Bon je m'excuse mais cela ne fonctionne pas Qu'est-ce a dire, que ce passe-t-il ou pas ????
D'apres votre code, les lignes a supprimer sont dans la copie de facture
la partie code suppression, je viens de la tester et ca marche
Dans la colonne AK il y a des cellules vides et il ne se suivre pas quelque fois il y a des dates d'inscrit et d'autre fois non. et ce sur ma copie
Alors il me supprime pas toute les lignes qui remplissent les trois conditions.
Merci
Un exemple
A I AH AK
1 AVR-16 Y 2016-04-05
2 AVR-16 Y
3 MAI-16 2016-05-04
4 JUIN-16 Y 2016-05-07
6 AVR-16 Y
7 AVR-16 Y 2016-04-06
La macro devrait enlever la ligne 1 et 7 car se sont elle qui remplissent les trois conditions. J'ai plusieurs lignes a mon fichier.
Je crois que c'est la première partie de mon code qui ne fonctionne pas
Dim Dernligne As Long
Dernligne = ActiveSheet.range("A" & Rows.Count).End(xlUp).Row
For N = Dernligne To 1 Step -1
Je voudrais que ma macro fasse une copie de ma feuille
Quel sélectionne les lignes qui remplissent les trois conditions dans mon tableau.
et ce jusqu'en bas de mon tableau peut importe le nombre de ligne.
Merci beaucoup pour ton aide