Problème Excel

Bonjour,

voila j'ai un probleme ou plutot une question sur une feuille excel:

je vais essayer d'expliquer le plus clairement possible sinon je peux envoyer le fichier excel à celui qui veut le regarder de plus pre et merci d'avance.

en fait, j'ai une liste deroulante qui contient deux elements (client et fournisseur)

quand je selectionne client je doit afficher des données sur la meme feuille dans mon exemple j'affiche 7 lignes de deux colonnes. les données sont affichées sur (A11,A17) et (B11,B17).

quand je selectionne fournisseur j'affiche sur le meme endroit 5 lignes de deux colonnes. les données sont affichées sur (A11,A15) et (B11,B15)

quand je selectionne fournisseur je fais en sorte de supprimer les ligne 16 et 17

mon probleme c'est que quand je suis dans le cas de fournisseur et que j'essaye d'ecrire sur les cellules A16 ou A17 ou B16 ou B17 ca s'efface.

voila le code que j'utilise :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target <> "" And Cells(5, 2) = "CLIENT" Then

If Cells(11, 1) <> "CLIENT1" Then

If Not IsEmpty(Cells(11, 1)) Then

Cells(11, 1) = "CLIENT1"

End If

End If

If Cells(12, 1) <> "CLIENT2" Then

If Not IsEmpty(Cells(12, 1)) Then

Cells(12, 1) = "CLIENT2"

End If

End If

If Cells(13, 1) <> "CLIENT3" Then

If Not IsEmpty(Cells(13, 1)) Then

Cells(13, 1) = "CLIENT3"

End If

End If

If Cells(14, 1) <> "CLIENT4" Then

If Not IsEmpty(Cells(14, 1)) Then

Cells(14, 1) = "CLIENT4"

End If

End If

If Cells(15, 1) <> "CLIENT5" Then

If Not IsEmpty(Cells(15, 1)) Then

Cells(15, 1) = "CLIENT5"

End If

End If

'If Cells(16, 1) <> "CLIENT6" Then

If IsEmpty(Cells(16, 1)) Then

Cells(16, 1) = "CLIENT6"

End If

'End If

'If Cells(17, 1) <> "CLIENT7" Then

If IsEmpty(Cells(17, 1)) Then

Cells(17, 1) = "CLIENT7"

End If

'End If

If Cells(11, 2) <> "200" Then

If Not IsEmpty(Cells(11, 2)) Then

Cells(11, 2) = "200"

End If

End If

If Cells(12, 2) <> "300" Then

If Not IsEmpty(Cells(12, 2)) Then

Cells(12, 2) = "300"

End If

End If

If Cells(13, 2) <> "400" Then

If Not IsEmpty(Cells(13, 2)) Then

Cells(13, 2) = "400"

End If

End If

If Cells(14, 2) <> "500" Then

If Not IsEmpty(Cells(14, 2)) Then

Cells(14, 2) = "500"

End If

End If

If Cells(15, 2) <> "600" Then

If Not IsEmpty(Cells(15, 2)) Then

Cells(15, 2) = "600"

End If

End If

'If Cells(16, 2) <> "700€" Then

If IsEmpty(Cells(16, 2)) Then

Cells(16, 2) = "700"

End If

'End If

'If Cells(17, 2) <> "800€" Then

If IsEmpty(Cells(17, 2)) Then

Cells(17, 2) = "800"

End If

'End If

End If

If Target <> "" And Cells(5, 2) = "FOURNISSEUR" Then

If Cells(11, 1) <> "FOURNISSEUR1" Then

If Not IsEmpty(Cells(11, 1)) Then

Cells(11, 1) = "FOURNISSEUR1"

End If

End If

If Cells(12, 1) <> "FOURNISSEUR2" Then

If Not IsEmpty(Cells(12, 1)) Then

Cells(12, 1) = "FOURNISSEUR2"

End If

End If

If Cells(13, 1) <> "FOURNISSEUR3" Then

If Not IsEmpty(Cells(13, 1)) Then

Cells(13, 1) = "FOURNISSEUR3"

End If

End If

If Cells(14, 1) <> "FOURNISSEUR4" Then

If Not IsEmpty(Cells(14, 1)) Then

Cells(14, 1) = "FOURNISSEUR4"

End If

End If

If Cells(15, 1) <> "FOURNISSEUR5" Then

If Not IsEmpty(Cells(15, 1)) Then

Cells(15, 1) = "FOURNISSEUR5"

End If

End If

If Not IsEmpty(Cells(16, 1)) Then

Cells(16, 1) = ""

End If

If Not IsEmpty(Cells(17, 1)) Then

Cells(17, 1) = ""

End If

If Cells(11, 2) <> "FACTURE1" Then

If Not IsEmpty(Cells(11, 2)) Then

Cells(11, 2) = "FACTURE1"

End If

End If

If Cells(12, 2) <> "FACTURE2" Then

If Not IsEmpty(Cells(12, 2)) Then

Cells(12, 2) = "FACTURE2"

End If

End If

If Cells(13, 2) <> "FACTURE3" Then

If Not IsEmpty(Cells(13, 2)) Then

Cells(13, 2) = "FACTURE3"

End If

End If

If Cells(14, 2) <> "FACTURE4" Then

If Not IsEmpty(Cells(14, 2)) Then

Cells(14, 2) = "FACTURE4"

End If

End If

If Cells(15, 2) <> "FACTURE5" Then

If Not IsEmpty(Cells(15, 2)) Then

Cells(15, 2) = "FACTURE5"

End If

End If

If Not IsEmpty(Cells(16, 2)) Then

Cells(16, 2) = ""

End If

If Not IsEmpty(Cells(17, 2)) Then

Cells(17, 2) = ""

End If

End If

End Sub

merci de m'aider

cordialement

Salut à toi

Ton message est très peu clair, et ton code ne sert pas à grand chose si on a pas ton fichier, ou un extrait

Fait nous un extrait de ton fichier (s'il dépasse 100ko), et joins le nous, avec le lien en haut de cette page "joindre un ficher"

Merci!

à te relire

jeremie25 a écrit :

Salut à toi

Ton message est très peu clair, et ton code ne sert pas à grand chose si on a pas ton fichier, ou un extrait

Fait nous un extrait de ton fichier (s'il dépasse 100ko), et joins le nous, avec le lien en haut de cette page "joindre un ficher"

Merci!

à te relire

voila j'ai envoyé le fichier

en fait pour tester essaye de selectionner client et tu vas voir afficher 7 lignes ensuite tu selectionne fournisseur et tu vas voir 5 lignes qui s'affichent

mon probleme c'est que des que j'ecris sur les lignes A16 ou A17 ou B16 ou B17 le contenu s'efface

merci d'avance

Bonjour,

Je ne voit pas le lien pour ton fichier, mets le sur le forum comme jeremie25 te l'a suggerer. (dans joindre un fichier, puis colle le lien qui t'ai donné sur ton message)

cordialement

Re-bonjour,

voic le lien du fichier :

https://www.excel-pratique.com/~files/doc/tgP3jtest.xls

merci

imp ecran solution

Bonjour,

tes cellule s'effacent car le code ci apres dit de les effacer

If Not IsEmpty(Cells(16, 2)) Then 
Cells(16, 2) = "" 
End If 
If Not IsEmpty(Cells(17, 2)) Then 
Cells(17, 2) = "" 
End If 

cordialement

Bonjour,

merci de ta reponse,

comment regler ce probleme car je suis obligé d'effacer les deux lignes ensuite ecrire de nouveau si on veux

merci

cordialement

Bonjour

Le code (enregistré) de ta macro est statique : tu auras toujours les noms que tu y as inscris et surtout les même montants.

Je suppose que ces données (nom client, nom fournisseur, montant) sont sur une autre feuille de ton classeur et que tu veux pouvoir les filtrer par "client" ou par "fournisseur".

Il vaudrait mieux que tu joignes ton fichier d'origine afin que l'on puisse te guider vers une macro adaptée à ce que tu veux faire.

A te relire

Amicalement

Nad

Bonjour

Nad a raison mais en restant dans l'actuel fichier, regarde ceci

https://www.excel-pratique.com/~files/doc/tgP3jtest2.xls

en fait je pense qu'il faut que ta macro s'execute que si "B5" change et pas la feuille

Cordialement

Bonjour,

merci à vous tous, c'est bon et ca marche

cordialement

Rechercher des sujets similaires à "probleme"