A voir également:
- Vb executer bouton à l'ouverture d'excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Aller à la ligne excel - Guide
- Si ou excel - Guide
13 réponses
Bonjour,
Tu doit mettre la sub Clic du bouton en Public (à la place de Private)
et ensuite
Tu doit mettre la sub Clic du bouton en Public (à la place de Private)
et ensuite
Private Sub Workbook_Open()A+
Call UserForm1.CommandButton1_Click
Unload UserForm1
Merci ! ca fonctionne !
Et comment appeler una macro du type : private Sub Worksheet_Change(ByVal Target As Range) ?
Merci !
Et comment appeler una macro du type : private Sub Worksheet_Change(ByVal Target As Range) ?
Merci !
de la même façon, sauf que tu doit donner une valeur, en l'occurance un Range...
Par exemple.
A+
LeNomDeLaFeuille.Worksheet_Change(Range("A1"))
Par exemple.
A+
Le problème c'est que dans mon instruction : Worksheet_Change(ByVal Target As Range) j'ai beaucoup de if vérifiant des valeurs dans des range. donc je ne peux pas spécifier une range unique !
De plus, mon instruction worksheet_change ne marche pas très bien, je veux des que je modifi quelque chose dans ma feuille, il fasse tous les tests que j'ai fait. désolé si ces questions sortent du sujet.
Merci !
De plus, mon instruction worksheet_change ne marche pas très bien, je veux des que je modifi quelque chose dans ma feuille, il fasse tous les tests que j'ai fait. désolé si ces questions sortent du sujet.
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Public Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("O160") <> "" Then
Range("L160").Interior.Color = RGB(51, 51, 255)
Else: Range("L160").Interior.Color = RGB(255, 255, 255)
End If
If Range("l160").Value <> "" Then
Range("L160").Interior.Color = RGB(255, 255, 255)
End If
If Range("O160") <> "" Then
Range("M160").Interior.Color = RGB(51, 51, 255)
Else: Range("M160").Interior.Color = RGB(255, 255, 255)
End If
end sub
Ce code est placé dans Feuil1 et la procédure ne s'execute pas dès que je modifi soit O160 soit L160 !
Merci!
Application.EnableEvents = False
If Range("O160") <> "" Then
Range("L160").Interior.Color = RGB(51, 51, 255)
Else: Range("L160").Interior.Color = RGB(255, 255, 255)
End If
If Range("l160").Value <> "" Then
Range("L160").Interior.Color = RGB(255, 255, 255)
End If
If Range("O160") <> "" Then
Range("M160").Interior.Color = RGB(51, 51, 255)
Else: Range("M160").Interior.Color = RGB(255, 255, 255)
End If
end sub
Ce code est placé dans Feuil1 et la procédure ne s'execute pas dès que je modifi soit O160 soit L160 !
Merci!
Normal, dés que tu fait UN changement dans ta feuille tu passe par...
Sans ça la fonction n'est plus appellée, aucune fonction de feuille d'ailleur.
A+
Application.EnableEvents = False et où est... Application.EnableEvents = True
Sans ça la fonction n'est plus appellée, aucune fonction de feuille d'ailleur.
A+
Application.EnableEvents = False
If Range("O160") <> "" Then
Range("L160").Interior.Color = RGB(51, 51, 255)
Else: Range("L160").Interior.Color = RGB(255, 255, 255)
Application.EnableEvents =true
End If
c'est bon comme ca? j'ai mi Application.EnableEvents = False parce que ma macro ralentissait tout.
If Range("O160") <> "" Then
Range("L160").Interior.Color = RGB(51, 51, 255)
Else: Range("L160").Interior.Color = RGB(255, 255, 255)
Application.EnableEvents =true
End If
c'est bon comme ca? j'ai mi Application.EnableEvents = False parce que ma macro ralentissait tout.
J'ai fai comme au dessus, ca fonctionne merci !
J'ai une autre question, j'ai bnesoin d'appliquer ma macro sur toute la colonne O et pas seulement sur O160, comment faire?
private sub test
If Range("O160") <> "" Then
Range("L160").Interior.Color = RGB(51, 51, 255)
Else: Range("L160").Interior.Color = RGB(255, 255, 255)
End If
comment faire en sorte que si n'importe quelle cellule dans la clonne O est différent de "" (<> "") alors la cellule relative dans la colonne L devient bleu.Quelque chose comme ca, mais ca ne fonctionne pas.
Merci d'avance !
J'ai une autre question, j'ai bnesoin d'appliquer ma macro sur toute la colonne O et pas seulement sur O160, comment faire?
private sub test
If Range("O160") <> "" Then
Range("L160").Interior.Color = RGB(51, 51, 255)
Else: Range("L160").Interior.Color = RGB(255, 255, 255)
End If
comment faire en sorte que si n'importe quelle cellule dans la clonne O est différent de "" (<> "") alors la cellule relative dans la colonne L devient bleu.Quelque chose comme ca, mais ca ne fonctionne pas.
private sub test For i = 1 To [O65536].End(xlUp).Row If Cells(i, "O") <> "" Then Cells(i, "O").Interior.Color = RGB(51, 51, 255) Else: Range("L").Interior.Color = RGB(255, 255, 255) End If
Merci d'avance !
Re,
Mais pour faire ça tu pourrais tout simplement employer une MFC (Mise en forme conditionnel)
A+
Private Sub test() Dim Lig As Long For Lig = 1 To [O65536].End(xlUp).Row If Cells(Lig, 15) <> "" Then Cells(Lig, 15).Interior.Color = RGB(51, 51, 255) Else Cells(Lig, 15).Interior.Color = RGB(255, 255, 255) End If Next Lig End Sub
Mais pour faire ça tu pourrais tout simplement employer une MFC (Mise en forme conditionnel)
A+
J'ai atteint le maximum de MEF, donc je dois les développer ! dommage !
Merci pour ton code !
Par contre, ta macro dit que : si une des cellules dans la colonnne O est remplit, toutes les cellules ou il ya du texte dedans sont bleu.
Or, je voudrai que si n'importe quelle cellule de la colonne O est remplit, la cellule relative dans la colonne L devient bleu si elle est vide.
Exemple : j'entre du texte dans une cellule au hasard admettons "O123 alors si "L123 est vide, "L123" est coloriser en bleu.
Merci de m'aider !
Merci pour ton code !
Par contre, ta macro dit que : si une des cellules dans la colonnne O est remplit, toutes les cellules ou il ya du texte dedans sont bleu.
Or, je voudrai que si n'importe quelle cellule de la colonne O est remplit, la cellule relative dans la colonne L devient bleu si elle est vide.
Exemple : j'entre du texte dans une cellule au hasard admettons "O123 alors si "L123 est vide, "L123" est coloriser en bleu.
Merci de m'aider !
Faudrait que tu commence à réfléchir un tout,tout petit peu...
Private Sub test() Dim Lig As Long For Lig = 1 To [O65536].End(xlUp).Row If Cells(Lig, 15) <> "" And Cells(Lig, 12) = "" Then Cells(Lig, 12).Interior.Color = RGB(51, 51, 255) Else Cells(Lig, 12).Interior.Color = RGB(255, 255, 255) End If Next Lig End Sub