Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Bonjour,
voilà mon problème. J'ai un fichier excel qui me calcule le fournisseur le plus interessant et me l'affiche en rouge. J'aimerais avoir une liste déroulante de choix qui m'affiche au depart le fournisseur le plus interessant mais qui me garde bien evidemment en dessous mes autres fournisseurs.
En gros, j'ai une macro pour choisir le fournisseur le plus interessant. Elle ressemble a çà:
Sub interesting()
Dim cel As Range
Range("A10").Select
For Each cel In Rows(10).Cells
If cel.Interior.ColorIndex = 3 Then
Range(cel).Activate
End If
Next
End Sub
Et une macro sur ma feuille directement qui quand certaines cellules de mon fichier changent, ma macro dessus se déclenche. Elle est comma çà:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("B7:F7")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Run ("interesting")
End If
End Sub
Mon problème c'est que ma première macro ne m'affiche pas mes fournisseurs.
Comment faire?
Merci d'avance
Re : lancement macro si changement de valeur dans mes cellules
Salut et bonne année Aurore3555 et le forum
Rappel
- utiliser les balises de code (# sous mode avancé) améliore la lisibilité
- pas de devin, ni de télépathe, aux dernières nouvelles sur le site. Si tu veux qu'on comprenne ton problème, il faut l'écrire dans ton poste.
J'ai un fichier excel qui me calcule le fournisseur le plus interessant et me l'affiche en rouge. J'aimerais avoir une liste déroulante de choix qui m'affiche au depart le fournisseur le plus interessant mais qui me garde bien evidemment en dessous mes autres fournisseurs.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("B7:F7")
If Not Application.Intersect(KeyCells, Target) Is Nothing Then Run ("interesting")
End Sub
Je préfère utiliser Call pour lancer une autre macro. avoir deux macros séparées suggère une utilisation de la seconde autrement (par une autre macro, un bouton...).
Ta macro interesting : elle est supposée faire quoi ?
Code:
Sub interesting()
Dim cel As Range
For Each cel In Rows(10).Cells
If cel.Interior.ColorIndex = 3 Then Range(cel).Activate
Next
End Sub
Si je la lis : pour la ligne 10, sélectionner/activer : la dernière rouge ou s'il n'y a pas de cellule rouge, A10.
Je doute que ce soit ce qu'elle doit faire. mais sans idée de l'organisation des données et du but à atteindre...
Juste une idée en passant : Comment sont colorées tes cellules ? Manuellement ou par macro ? Pas par MFC j'espère, sinon tu vas avoir des surprises, une MFC ne faisant que superposer un "calque" de format sur la cellule, dont le format réel ne subit aucune variation.
Il faudrait, comme le suggère James007 nous transmettre un fichier d'essai (pas le réel), avec les lignes 7 10, plus quelques autres contenant les données (prix), avec un mode de fonctionnement.
A+
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD