Probleme VBA excel
Résolu/Fermé
titi875
Messages postés
10
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
3 mai 2010
-
21 avril 2010 à 11:53
titi875 Messages postés 10 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 3 mai 2010 - 21 avril 2010 à 14:14
titi875 Messages postés 10 Date d'inscription mercredi 21 avril 2010 Statut Membre Dernière intervention 3 mai 2010 - 21 avril 2010 à 14:14
A voir également:
- Probleme VBA excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 690
21 avril 2010 à 11:56
21 avril 2010 à 11:56
Bonjour,
Pourquoi ne teste tu pas la date récupérée:
Si la cellule est vide alors :
.Cells(l,5)=""
Désolé, je ne me souviens plus trop de la syntaxe VBA...
Pourquoi ne teste tu pas la date récupérée:
Si la cellule est vide alors :
.Cells(l,5)=""
Désolé, je ne me souviens plus trop de la syntaxe VBA...
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
21 avril 2010 à 13:05
21 avril 2010 à 13:05
Alors fait un petit test avant le traitement avec la fonction IsEmpty
Sub test() Dim date1 As Date For i = 5 To 8 ' une serie de date et cellules vides en A5:A8 If Not IsEmpty(Cells(i, 1)) Then date1 = Format(Cells(i, 1), "dd/mm/yyyy") Cells(i, 3).Value = date1 ' on réécrit en c5 c8 Else Cells(i, 3).Value = "" End If Next End Sub
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 690
21 avril 2010 à 13:06
21 avril 2010 à 13:06
C'est à peu de chose près ce que je lui avais proposé sauf que moi, je me souvenais plus du code... lol!
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
21 avril 2010 à 13:20
21 avril 2010 à 13:20
@Neliel
Je l'avais compris comme ça!
il y a d'autres solutions mais le plus simple reste de contrôler
la cellule avant d'en faire une affectation à une variable.
cela evite les boucles et les tests en série.
Je donne un exemple pas la solution toute faite.
pour
DateFPBE = Format(Range("B" & 13), "mm/dd/yyyy")
DateFPind = Format(Range("B" & 21), "mm/dd/yyyy")
je ferai :
if not isempty(Range("B" & 13)) then....
Je l'avais compris comme ça!
il y a d'autres solutions mais le plus simple reste de contrôler
la cellule avant d'en faire une affectation à une variable.
cela evite les boucles et les tests en série.
Je donne un exemple pas la solution toute faite.
pour
DateFPBE = Format(Range("B" & 13), "mm/dd/yyyy")
DateFPind = Format(Range("B" & 21), "mm/dd/yyyy")
je ferai :
if not isempty(Range("B" & 13)) then....
titi875
Messages postés
10
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
3 mai 2010
21 avril 2010 à 13:39
21 avril 2010 à 13:39
Ok Merci a tous!!!
Je vais faire comme cela pour l'instant mais si quelqu'un voit une autre solution plus simple je suis preneuse (parce que vu le nombre de date le code va etre un peu lourd...
Je vais faire comme cela pour l'instant mais si quelqu'un voit une autre solution plus simple je suis preneuse (parce que vu le nombre de date le code va etre un peu lourd...
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 690
21 avril 2010 à 13:41
21 avril 2010 à 13:41
Avec une boucle, ça ne sera pas lourd...
titi875
Messages postés
10
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
3 mai 2010
21 avril 2010 à 13:47
21 avril 2010 à 13:47
Alors finalement je viens de tester et ca ne fonctionne pas!
Voila ce que j'ai ecrit:
If Not IsEmpty(Range("B" & 13)) Then
.Cells(l, 5) = DateFPBE
End If
et j'ai toujours en résultat 12/30/1899 a la place de la bonne date...
Voila ce que j'ai ecrit:
If Not IsEmpty(Range("B" & 13)) Then
.Cells(l, 5) = DateFPBE
End If
et j'ai toujours en résultat 12/30/1899 a la place de la bonne date...
Neliel
Messages postés
6146
Date d'inscription
jeudi 9 juillet 2009
Statut
Contributeur
Dernière intervention
20 mars 2017
1 690
21 avril 2010 à 13:49
21 avril 2010 à 13:49
Les cellules sans dates sont-elle bien vides ?
titi875
Messages postés
10
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
3 mai 2010
21 avril 2010 à 13:49
21 avril 2010 à 13:49
Et il me met que Range("B"&13)=00:00:00 donc pour lui c'est pas vide
21 avril 2010 à 12:04