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
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
