Je voudrais deux conditions dans une formule
Résolu
senga15
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
senga15 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
senga15 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
bonjour,
j'ai un fichier avec une première colonne comportant le n° de dossier et une autre colonne avec le prix unitaire.
Pour un même numéro de dossier je peux avoir plusieurs lignes.
Le résultat que je voudrais obtenir est :
Si dans mon dossier j'ai au moins une ligne avec un prix à 0,00 je garde le dossier si non je supprime le dossier et donc au final il devrait me rester que les dossiers avec au moins un prix à 0,00.
Pouvez-vous m'aider car je ne suis pas une pro d'Excel
j'ai un fichier avec une première colonne comportant le n° de dossier et une autre colonne avec le prix unitaire.
Pour un même numéro de dossier je peux avoir plusieurs lignes.
Le résultat que je voudrais obtenir est :
Si dans mon dossier j'ai au moins une ligne avec un prix à 0,00 je garde le dossier si non je supprime le dossier et donc au final il devrait me rester que les dossiers avec au moins un prix à 0,00.
Pouvez-vous m'aider car je ne suis pas une pro d'Excel
A voir également:
- Je voudrais deux conditions dans une formule
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
12 réponses
Bonjour,
Essayer simplement avec l'outil [Filtrer] et ensuite supprimer les lignes avec la valeur 0 ... !
Essayer simplement avec l'outil [Filtrer] et ensuite supprimer les lignes avec la valeur 0 ... !
bonsoir,
je me suis mal expliquée
voici un exemple :
Dossier Prix
A 0,00
A 12,00
A 24,00
B 30,00
B 25,00
C 0,00
C 22,00
C 28,00
C 35,00
Ce que je veux c'est une formule ou quelque chose d'autres qui me dise de garder le dossier A et le dossier C.
Ai-je été plus claire.
Salutations
Senga15
je me suis mal expliquée
voici un exemple :
Dossier Prix
A 0,00
A 12,00
A 24,00
B 30,00
B 25,00
C 0,00
C 22,00
C 28,00
C 35,00
Ce que je veux c'est une formule ou quelque chose d'autres qui me dise de garder le dossier A et le dossier C.
Ai-je été plus claire.
Salutations
Senga15
Bonjour,
Pourquoi vouloir utiliser une macro alors que l'outil [Filtrer] suffit largement.
La solution est valable avec l'outil [Filtrer] il faut simplement filtrer sur >0 et supprimer les lignes ... !
Salutations.
Le Pingou
Pourquoi vouloir utiliser une macro alors que l'outil [Filtrer] suffit largement.
La solution est valable avec l'outil [Filtrer] il faut simplement filtrer sur >0 et supprimer les lignes ... !
Salutations.
Le Pingou
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ce que je veux c'est ceci :
A 0,00 Je garde
A 12,00 Je garde
A 24,00 Je garde
B 30,00 Je supprime car pas de ligne à 0,00 dans ce dossier
B 25,00 Je supprime car pas de ligne à 0,00 dans ce dossier
C 0,00 Je garde
C 22,00 Je garde
C 28,00 Je garde
C 35,00 Je garde
Cordialement
Senga15
A 0,00 Je garde
A 12,00 Je garde
A 24,00 Je garde
B 30,00 Je supprime car pas de ligne à 0,00 dans ce dossier
B 25,00 Je supprime car pas de ligne à 0,00 dans ce dossier
C 0,00 Je garde
C 22,00 Je garde
C 28,00 Je garde
C 35,00 Je garde
Cordialement
Senga15
Bonjour,
La proposition de Frenchie83 supprime les lignes dont le prix est différent de 0 et ce n'est pas ce que je veux.
Ce que je souhaites est :
A 0,00 Je garde
A 12,00 Je garde
A 24,00 Je garde
B 30,00 Je supprime car pas de ligne à 0,00 dans ce dossier
B 25,00 Je supprime car pas de ligne à 0,00 dans ce dossier
C 0,00 Je garde
C 22,00 Je garde
C 28,00 Je garde
C 35,00 Je garde
Cordialement
La proposition de Frenchie83 supprime les lignes dont le prix est différent de 0 et ce n'est pas ce que je veux.
Ce que je souhaites est :
A 0,00 Je garde
A 12,00 Je garde
A 24,00 Je garde
B 30,00 Je supprime car pas de ligne à 0,00 dans ce dossier
B 25,00 Je supprime car pas de ligne à 0,00 dans ce dossier
C 0,00 Je garde
C 22,00 Je garde
C 28,00 Je garde
C 35,00 Je garde
Cordialement
Bonjour
Curieux, je viens de refaire tourner et ça marche bien
"si un code est égal à 0 alors je conserve toutes les lignes concernant ce code, sinon je supprime."
re-vérifie, ou alors il y a un problème ailleurs
si tu peux, exécute le programme en pas à pas
on en rediscute
cdlt
Curieux, je viens de refaire tourner et ça marche bien
"si un code est égal à 0 alors je conserve toutes les lignes concernant ce code, sinon je supprime."
re-vérifie, ou alors il y a un problème ailleurs
si tu peux, exécute le programme en pas à pas
on en rediscute
cdlt
Bonsoir,
Merci beaucoup.
J'ai essayé et cela fonctionne.
Travaillant actuellement sur mon ordinateur perso comment je fais pour enregistrer la macro sur un autre ordinateur ?
Cordialement
Senga15
Merci beaucoup.
J'ai essayé et cela fonctionne.
Travaillant actuellement sur mon ordinateur perso comment je fais pour enregistrer la macro sur un autre ordinateur ?
Cordialement
Senga15
Bonsoir
1) il faut avoir accès à VBA
pour cela, on va afficher le bouton "Developpeur" dans le ruban
-cliquer sur bouton office
-cliquer sur Options excel
-selectionner Standard
-dans le 1er paragraphe, cocher Afficher développeur dans le ruban
-ok
dans le ruban, cliquer sur le bouton développeur
-cliquer sur visual basic
-cliquer sur insertion, et sélectionner insérer un module
et y coller le code ci-dessous
Sub SuppressionDossier()
Application.ScreenUpdating = False
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
deb = ActiveCell.Row
Do While ActiveCell.Offset(1, 0).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Fin = ActiveCell.Row
For i = deb To Fin
If Cells(i, 2).Value = 0 Then
Cells(Fin, 1).Select
GoTo Suivant
End If
Next i
Rows(deb & ":" & Fin).Delete
Cells(deb - 1, 1).Select
GoTo Suivant
Else
If Cells(ActiveCell.Row, 2).Value <> 0 Then
ActiveCell.EntireRow.Delete
Cells(deb - 1, 1).Select
GoTo Suivant
End If
End If
Suivant:
ActiveCell.Offset(1, 0).Select
Loop
End Sub
2) sur la feuille Excel, insérer un objet quelconque (un bouton, un dessin ou autre..)
clic droit sur l'objet, y affecter la macro "SuppressionDossier"
voilà c'est tout
bonne continuation
Cdlt
1) il faut avoir accès à VBA
pour cela, on va afficher le bouton "Developpeur" dans le ruban
-cliquer sur bouton office
-cliquer sur Options excel
-selectionner Standard
-dans le 1er paragraphe, cocher Afficher développeur dans le ruban
-ok
dans le ruban, cliquer sur le bouton développeur
-cliquer sur visual basic
-cliquer sur insertion, et sélectionner insérer un module
et y coller le code ci-dessous
Sub SuppressionDossier()
Application.ScreenUpdating = False
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
deb = ActiveCell.Row
Do While ActiveCell.Offset(1, 0).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Fin = ActiveCell.Row
For i = deb To Fin
If Cells(i, 2).Value = 0 Then
Cells(Fin, 1).Select
GoTo Suivant
End If
Next i
Rows(deb & ":" & Fin).Delete
Cells(deb - 1, 1).Select
GoTo Suivant
Else
If Cells(ActiveCell.Row, 2).Value <> 0 Then
ActiveCell.EntireRow.Delete
Cells(deb - 1, 1).Select
GoTo Suivant
End If
End If
Suivant:
ActiveCell.Offset(1, 0).Select
Loop
End Sub
2) sur la feuille Excel, insérer un objet quelconque (un bouton, un dessin ou autre..)
clic droit sur l'objet, y affecter la macro "SuppressionDossier"
voilà c'est tout
bonne continuation
Cdlt
Bonsoir,
Est-ce que je peux encore profiter de ton savoir car j'ai encore un autre fichier a traiter.
Cette fois-ci il faut que jme garde les dossiers ayant un prix inférieur ou égal à 26 €.
Ne connaissant rien aux macros qu'est-ce que je dois modifier dans la macro que tu m'as envoyer.
Peux-tu me la renvoyer en marquant en couleur les modifications que tu auras apporté.
Après cela je pense que je ne t'embêterais plus.
Merci encore
Cordialement
Est-ce que je peux encore profiter de ton savoir car j'ai encore un autre fichier a traiter.
Cette fois-ci il faut que jme garde les dossiers ayant un prix inférieur ou égal à 26 €.
Ne connaissant rien aux macros qu'est-ce que je dois modifier dans la macro que tu m'as envoyer.
Peux-tu me la renvoyer en marquant en couleur les modifications que tu auras apporté.
Après cela je pense que je ne t'embêterais plus.
Merci encore
Cordialement
Bonjour
N'étant pas sûr d'avoir bien compris ta question, voici 2 macros,
la première identique à celle d'origine, on remplace la valeur 0 par <=6
'*****1er cas, on conserve tous les dossiers dont au moins 1 est <= à 26
la modification est soulignée à 2 endroits (la couleur, c'est pas possible)
Sub SuppressionDossier1()
Application.ScreenUpdating = False
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
deb = ActiveCell.Row
Do While ActiveCell.Offset(1, 0).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Fin = ActiveCell.Row
For i = deb To Fin
If Cells(i, 2).Value <= 26 Then
Cells(Fin, 1).Select
GoTo Suivant
End If
Next i
Rows(deb & ":" & Fin).Delete
Cells(deb - 1, 1).Select
GoTo Suivant
Else
If Cells(ActiveCell.Row, 2).Value > 26 Then
ActiveCell.EntireRow.Delete
Cells(deb - 1, 1).Select
GoTo Suivant
End If
End If
Suivant:
ActiveCell.Offset(1, 0).Select
Loop
End Sub
**************************************************************
**************************************************************
'**2ème cas, on ne conserve que les dossiers qui sont <= à 26
Sub SuppressionDossier2()
Application.ScreenUpdating = False
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(0, 1).Value > 26 Then
ActiveCell.EntireRow.Delete
Else: ActiveCell.Offset(1, 0).Select
End If
Suivant:
Loop
end sub
Je pense qu'il s'agit du premier cas de figure qui t'intéresse, mais dans le doute, je préfère envoyer les deux.
bonne journée
cdlt
N'étant pas sûr d'avoir bien compris ta question, voici 2 macros,
la première identique à celle d'origine, on remplace la valeur 0 par <=6
'*****1er cas, on conserve tous les dossiers dont au moins 1 est <= à 26
la modification est soulignée à 2 endroits (la couleur, c'est pas possible)
Sub SuppressionDossier1()
Application.ScreenUpdating = False
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
deb = ActiveCell.Row
Do While ActiveCell.Offset(1, 0).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Fin = ActiveCell.Row
For i = deb To Fin
If Cells(i, 2).Value <= 26 Then
Cells(Fin, 1).Select
GoTo Suivant
End If
Next i
Rows(deb & ":" & Fin).Delete
Cells(deb - 1, 1).Select
GoTo Suivant
Else
If Cells(ActiveCell.Row, 2).Value > 26 Then
ActiveCell.EntireRow.Delete
Cells(deb - 1, 1).Select
GoTo Suivant
End If
End If
Suivant:
ActiveCell.Offset(1, 0).Select
Loop
End Sub
**************************************************************
**************************************************************
'**2ème cas, on ne conserve que les dossiers qui sont <= à 26
Sub SuppressionDossier2()
Application.ScreenUpdating = False
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Offset(0, 1).Value > 26 Then
ActiveCell.EntireRow.Delete
Else: ActiveCell.Offset(1, 0).Select
End If
Suivant:
Loop
end sub
Je pense qu'il s'agit du premier cas de figure qui t'intéresse, mais dans le doute, je préfère envoyer les deux.
bonne journée
cdlt