OVH Cloud OVH Cloud

N°Semaine dans un champ

2 réponses
Avatar
Jean-Paul V
Bonjour

J’ai un calendrier perpétuel avec une macro qui affecte le n° de semaine
dans le commentaire associé au dimanche.
Cette macro est :

Sub CommentCal()
Dim Cal As Range, cell As Range

Set Cal = Range("B4:M34")
Cal.ClearComments

For Each cell In Cal
If cell.Text <> "" Then
If Weekday(cell.Value2, vbMonday) = 1 Then
cell.AddComment "Semaine " & NoSem(cell.Value)
cell.Comment.Shape.TextFrame.AutoSize = True
End If
End If
Next cell

End Sub

Depuis que j’ai inséré des colonnes pour y ajouter les saints ( avec des
recherchev ), la macro se plante car dans le champ nous avons une colonne sur
2 des cellules qui ne sont pas des dates.
Comment modifier la macro pour qu’elle ne se plante pas ?


Bien Amicalement

2 réponses

Avatar
Pounet95
Bonjour,
A priori, je dirais qu'il faut tester que la cellule contient une date pour
que la fonction WeekDay s'applique.
Non testé :

remplacer
If cell.Text <> "" Then
par
If cell.value<>"" And IsDate(cell.value) then

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Jean-Paul V" a écrit dans le message
de news:
Bonjour

J’ai un calendrier perpétuel avec une macro qui affecte le n° de semaine
dans le commentaire associé au dimanche.
Cette macro est :

Sub CommentCal()
Dim Cal As Range, cell As Range

Set Cal = Range("B4:M34")
Cal.ClearComments

For Each cell In Cal
If cell.Text <> "" Then
If Weekday(cell.Value2, vbMonday) = 1 Then
cell.AddComment "Semaine " & NoSem(cell.Value)
cell.Comment.Shape.TextFrame.AutoSize = True
End If
End If
Next cell

End Sub

Depuis que j’ai inséré des colonnes pour y ajouter les saints ( avec des
recherchev ), la macro se plante car dans le champ nous avons une colonne
sur
2 des cellules qui ne sont pas des dates.
Comment modifier la macro pour qu’elle ne se plante pas ?


Bien Amicalement



Avatar
Jean-Paul V
Merci encore ça marche !


Bonjour,
A priori, je dirais qu'il faut tester que la cellule contient une date pour
que la fonction WeekDay s'applique.
Non testé :

remplacer
If cell.Text <> "" Then
par
If cell.value<>"" And IsDate(cell.value) then

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Jean-Paul V" a écrit dans le message
de news:
Bonjour

J’ai un calendrier perpétuel avec une macro qui affecte le n° de semaine
dans le commentaire associé au dimanche.
Cette macro est :

Sub CommentCal()
Dim Cal As Range, cell As Range

Set Cal = Range("B4:M34")
Cal.ClearComments

For Each cell In Cal
If cell.Text <> "" Then
If Weekday(cell.Value2, vbMonday) = 1 Then
cell.AddComment "Semaine " & NoSem(cell.Value)
cell.Comment.Shape.TextFrame.AutoSize = True
End If
End If
Next cell

End Sub

Depuis que j’ai inséré des colonnes pour y ajouter les saints ( avec des
recherchev ), la macro se plante car dans le champ nous avons une colonne
sur
2 des cellules qui ne sont pas des dates.
Comment modifier la macro pour qu’elle ne se plante pas ?


Bien Amicalement