A voir également:
- Nombre premier Excel VBA
- Liste déroulante excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
4 réponses
Salut, essaye comme ça:
For Each cell In Selection For n = 2 To cell.Value - 1 If (cell.Value / n) - Int(cell.Value / n) = 0 Then cell.Interior.Color = vbWhite Exit For Else cell.Interior.Color = vbYellow End If Next Next
Bonjour,
Pour ne répondre qu'à ta question : si tu suis ton code en pas à pas, ta cellule peut changer plusieurs fois de couleur mais prendra toujours sa couleur finale par rapport à Cell.Value - 1, qui n'est pas un diviseur de Cell.Value.
Le code de Yoda permet de sortir de la boucle dès qu'un diviseur est trouvé.
A+
Pour ne répondre qu'à ta question : si tu suis ton code en pas à pas, ta cellule peut changer plusieurs fois de couleur mais prendra toujours sa couleur finale par rapport à Cell.Value - 1, qui n'est pas un diviseur de Cell.Value.
Le code de Yoda permet de sortir de la boucle dès qu'un diviseur est trouvé.
A+
Bonjour tout le monde,
Ou alors, en nous servant de toutes ces excellentes réponses, on peut construire une fonction personnalisée.
Cette fonction pourra servir aussi bien dans la feuille que dans le code.
Dans le code :
Appel :
Fonction :
🎼 Cordialement,
Franck 🎶
Ou alors, en nous servant de toutes ces excellentes réponses, on peut construire une fonction personnalisée.
Cette fonction pourra servir aussi bien dans la feuille que dans le code.
Dans le code :
Appel :
For Each cell In Selection If EstPremier(cell) Then cell.Interior.Color = vbWhite Else: cell.Interior.Color = vbYellow End If Next
Fonction :
Function EstPremier(Nb As Integer) As Boolean Dim i As Long For i = 2 To Sqr(Nb) If Nb Mod i = 0 Then EstPremier = False: Exit Function Next i EstPremier = True End Function
🎼 Cordialement,
Franck 🎶