Je voudrais deux conditions dans une formule

Résolu/Fermé
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013 - 23 juin 2013 à 18:09
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013 - 25 juin 2013 à 22:26
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
A voir également:

12 réponses

Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
23 juin 2013 à 22:07
Bonjour,
Essayer simplement avec l'outil [Filtrer] et ensuite supprimer les lignes avec la valeur 0 ... !

0
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013
23 juin 2013 à 22:16
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
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
23 juin 2013 à 22:34
Bonsoir

essayez ceci

https://www.cjoint.com/?CFxwGMXYKQK


cdlt
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 23/06/2013 à 23:02
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013
23 juin 2013 à 23:12
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
23 juin 2013 à 23:29
Bonjour,
Oui c'est tout clair maintenant.
Alors prenez la proposition de Frenchie83 qui devrait vous convenir.
Salutations.
Le Pingou
0
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013
24 juin 2013 à 07:17
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
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
24 juin 2013 à 07:28
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
0
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013
24 juin 2013 à 20:47
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
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
24 juin 2013 à 22:24
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
0
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013
24 juin 2013 à 23:27
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
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
25 juin 2013 à 06:37
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
0
senga15 Messages postés 15 Date d'inscription dimanche 23 juin 2013 Statut Membre Dernière intervention 8 juillet 2013
25 juin 2013 à 22:26
Bonsoir,

Tout fonctionne c'est parfait.

Merci beaucoup.

Je viens d'envoyer une nouvelle demande

Cordialement
0