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 !
Bonjour,
je désire qu'une diagonale s'inscrive dans un plage de cellules A2😀5(par ex)
lorsque la valeur est supérieur à 10 ,sinon inscrit la valeur.
Cela fait un bon monent que je cherche mais en vain.
Si cela est possible en VBA.
Merci d'avance
Bonsoir le Forum, tout le monde
J'ai fais un test aussi et pour pouvoir fonctionner il faut que je clique plusieurs fois dans la cellule.J'ai l'impression que la macro ne se met pas en action des le changement de cellule?
Bruno
REBONSOIR,
j'ai retapé le code en utilisant les mots proposés par VBA,c'est a dire en tapant la première lettre puis CTRL +espace pour l'orthographe correct.
Hé bien quedalle,même chose.
Cependant en faisant un double clic gauche ca l'air de fonctionné plus où moins .Un bug où une configuration différente où option
Merci pour tout
A +
il faut modifier le code de la feuille comme suit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sel As Range: Dim i As Byte
Set Sel = Range("a1:a10")
If Not Application.Intersect(Sel, Range(Target.Address)) Is Nothing Then
For i = 1 To 100
If Cells(i, 1) < 10 Then
Cells(i, 1).Borders(xlDiagonalUp).LineStyle = xlNone
Else
Cells(i, 1).Borders(xlDiagonalUp).LineStyle = xlContinuous
End If
'End If
Next i
End If
End Sub
car la ligne i = ActiveCell.Row pose probleme car quand on saisie quelque chose quand on a fini on presse enter au clavier ce qui a pour effet de selectionner la cellule du dessous cqfd
a+
re
si je valide par le "V" dans la barre, cela fonctionne et si je valide avec entrée cela ne fonctionne pas.
Si ça peux faire avancer le smilblick
Bruno
Je suis en retard je n'avais pas vue toutes ces réponses, mais j'avais tout de même avancé
Le premier code était bon si on changait la référence de ligne active, car le fait de faire "Enter" la cellule change et du coup on est plus sur la bonne cellule. Alors en faisant :
Histoire de me coucher moins bête,(ce qui va être dur)
quelqu-un a t-il une explication au fait que ce code fonctionne chez les uns, et pas chez les autres.
Fichier de 17h26.
abc, tu as changé quoi dans le code pour qu'il fonctionne maintement.
Salut Yves
Oui j'ai juste changé le ligne ou tu cherches le numéro de cellule active. Car quand on tape une valeur et que l'on fait entrée la cellule sélectionnée est la suivante.
je n'ais pas suivi tout le fil, mais si j'en crois la demande initiale, pourquoi ne pas coder comme ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
If Target < 10 Then
Target.Borders(xlDiagonalUp).LineStyle = xlNone
Else
Target.Borders(xlDiagonalUp).LineStyle = xlContinuous
End If
End If
End Sub
A priori, je n ai pas touvé utile d utiliser la cellule active, puisque celle ci est = à Target, si c'est bien celle ci sur laquelle nous voulons agir.
Bonsoir,
j'ai opté pour le code de yojema ,j'ai essayé la modifiction de JYLL mais il faut un double clic pour un changement,pas pratique et pas sûr.
Je vais essayer la proposition de pierrrot93.Je te tiens au courant.
Le pourquoi du disfonctionnement de cher l'un où l'autre reste une enygme.
Merci du suivi du sujet.
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