J'ai fait un petit programme (voir ci-dessous) sur thisworkbook et le problème c qu'il s'applique sur mes deux feuilles alors que moi je veux qu'il s'applique juste sur une seule et je sais pas comment faire, j'ai essayé avec sheet("feuille1").select("feuille") mais ça marche pas, vu que je suis débutant en vba est-ce que quelqu'un pourra m'aider?
Sub Erreur()
Range("AN10").Select
Range("AN10").Value = "=TODAY()"
Dim i As Integer
For i = 13 To Range("F500").End(xlUp).Row
Range("AN" & i).Value = Range("AN10") - Range("F" & i)
If Range("F" & i) < Range("AN10") Then
UserForm3.Show
Range("A" & i & ":AM" & i).Interior.Color = RGB(255, 0, 0)
ElseIf Range("F" & i) > Range("AN10") Then
Range("A" & i & ":AM" & i).Interior.Color = xlNone
J'ai fait un petit programme (voir ci-dessous) sur thisworkbook et le problème c qu'il s'applique sur mes deux feuilles alors que moi je veux qu'il s'applique juste sur une seule et je sais pas comment faire, j'ai essayé avec sheet("feuille1").select("feuille") mais ça marche pas, vu que je suis débutant en vba est-ce que quelqu'un pourra m'aider?
Sub Erreur()
Range("AN10").Select
Range("AN10").Value = "=TODAY()"
Dim i As Integer
For i = 13 To Range("F500").End(xlUp).Row
Range("AN" & i).Value = Range("AN10") - Range("F" & i)
If Range("F" & i) < Range("AN10") Then
UserForm3.Show
Range("A" & i & ":AM" & i).Interior.Color = RGB(255, 0, 0)
ElseIf Range("F" & i) > Range("AN10") Then
Range("A" & i & ":AM" & i).Interior.Color = xlNone
Bonjoiur,
Sans voir le classeur ni l'userform3, je dirais
VB:
Sub Erreur()
Dim i As Integer
With Sheets("Feuil1") 'adapter le nom réel de la feuille, ici "Feuil1")
.Range("AN10").Value = "=TODAY()"
For i = 13 To .Range("F500").End(xlUp).Row
.Range("AN" & i).Value = .Range("AN10") - .Range("F" & i)
If .Range("F" & i) < .Range("AN10") Then
UserForm3.Show
.Range("A" & i & ":AM" & i).Interior.Color = RGB(255, 0, 0)
ElseIf .Range("F" & i) > .Range("AN10") Then
.Range("A" & i & ":AM" & i).Interior.Color = xlNone
End If
Next i
End With
End Sub
Bonjoiur,
Sans voir le classeur ni l'userform3, je dirais
VB:
Sub Erreur()
Dim i As Integer
With Sheets("Feuil1") 'adapter le nom réel de la feuille, ici "Feuil1")
.Range("AN10").Value = "=TODAY()"
For i = 13 To .Range("F500").End(xlUp).Row
.Range("AN" & i).Value = .Range("AN10") - .Range("F" & i)
If .Range("F" & i) < .Range("AN10") Then
UserForm3.Show
.Range("A" & i & ":AM" & i).Interior.Color = RGB(255, 0, 0)
ElseIf .Range("F" & i) > .Range("AN10") Then
.Range("A" & i & ":AM" & i).Interior.Color = xlNone
End If
Next i
End With
End Sub
Bonjour,
mercii ça a marché, mais j'ai un petit soucis c que mon userform3 s'affiche pas directement quand j'ouvre le fichier excel pour me montrer qu'il y a un retard, faut que j'ouvre le programme et cliqué sur exécuté pour que ça marche
RE
Pour que la procédure "Sub Erreur()" soit lancé à l'ouverture du classeur
Placer ceci dans le ThisWorkbook du classeur en question
VB:
Private Sub Workbook_Open()
Call Erreur
End Sub
Attention, dans le code de l'userform aucune feuille n'est spécifiée, ce sera donc la feuille active qui sera prise en compte
"Delai", tel qu'il est configuré ne sert à rien
Il serait sage de mettre en ligne un classeur brouillon avec les explications du résultat attendu
RE
Pour que la procédure "Sub Erreur()" soit lancé à l'ouverture du classeur
Placer ceci dans le ThisWorkbook du classeur en question
VB:
Private Sub Workbook_Open()
Call Erreur
End Sub
Attention, dans le code de l'userform aucune feuille n'est spécifiée, ce sera donc la feuille active qui sera prise en compte
"Delai", tel qu'il est configuré ne sert à rien
Il serait sage de mettre en ligne un classeur brouillon avec les explications du résultat attendu