Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
J'aimerais tester si une des valeurs d'une plage nommé ( [nb_jour]) est supérieur strictement à 3.
Qu'est ce que cela donne en VBA ?
Le résultat du test étant un msg box?
"En cellule BV4 je récupère via une formule un nombre de jour ( NB SI .....) Cette formule est recopiée de BV4 à BV65. Le chiffre n'est pas saisi par l'utilisateur. Simplement je veux qu'il soit averti.
Si je met vos différents code vba en this workbook ou sur la feuille, je n'ai pas de résultat concluant"
RE
Je t'ai remis le nouveau fichier ((( que j'ai zippé car il est évident que les fichiers zippés c'est bcp mieux)))au dessus dans mon dernier message
A++
Bonsoir Jean-Pierre;skoobi et Jopont
Je me verse un petit jura;je vous en verse chacun un et je trinque à votre santé; car là je n'arrive plus à suivre le fil Glou glou.
Plus sérieusement jopont, ok, mais si tu ne peux arriver à nous envoyer un bout de ton fichier, on va tourner en rond logtemps comme ça (plus vite après quelque verre hi hi😛)
Je viens de changer G6, enfin sur ton fichier joint... (situation inédite) (et à part roro69 qui a bien analysé la chose), il ne se passe rien...
Normal si tu ne retranscris pas ce qui t'est donné avant.... Ce n'est donc pas la peine de redéposer un fichier vierge de tous les conseils donnés... cela polue
Bonjour
1° Skoobi Comme le dit ton épitaphe on en apprend tous les jours...
Jopont tu dit que c'est en colonne BV et dans ta macro tu met 1 alors que bv c'est la colonne 74. Donc:
If Cells(i, 74).Value > 3 Then
Bonjour
Je reviens sur mon sujet, désolé mais je débute en VBA.
Dans un module j'ai donc mis le code suivant qui fonctionne lorsque je fais du pas à pas détaillé dans VB éditeur.
Sub Nbjoursup3()
Dim Nblignes As Integer, Nbjoursup3 As Integer
Dim j As Integer, i As Integer
Dim plageNbjours As Range
Set plageNbjours = Range("BV4:BV10")
Nblignes = plageNbjours.Rows.Count
Nbjoursup3 = 0
For i = 1 To Nblignes
If plageNbjours.Cells(i, 1) > 3 Then
Nbjoursup3 = Nbjoursup3 + 1
End If
Next
MsgBox "Attention il y a " & Nbjoursup3 & " cellule avec un nombre de jours de congé naissance > 3"
End Sub
Seulement maintenant j'aimerais faire appel à cette procédure lorsqu'il y a un changement dans la plage BV4:BV10
J'ai essayé le code suivant sur la feuille pour appeler la procédure :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([zones_janv], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [liste_code].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
End If
Call Nbjoursup3
End Sub
et la ça fonctionne toujours pas et en plus le code qui me permet de récupérer de la couleur ne fonctionne plus.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C3:BL65"), Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [liste_code].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
If Not Intersect(Target, Range("BV4:BV10")) Is Nothing Then
Call Nbjoursup3
End If
End If
End Sub
La premiere partie du code avec la récupération de couleur fonctionne.
Par contre l'appel de la procédure ne fonctionne pas
- 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