erreur vba sur format date

  • Initiateur de la discussion Initiateur de la discussion GHISLAIN
  • Date de début Date de début

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 !

GHISLAIN

XLDnaute Impliqué
bonjour a tous

With Feuil20
.Range("A3:j65000").ClearContents
DernLign = .Cells(.Rows.Count, 1).End(xlUp).Row
For Lign = 0 To ListBox1.ListCount - 1
[highlight] .Cells(DernLign + Lign + 1, 8) = ListBox1.List(Lign, 7)[highlight]
Next Lign
End With


cette ligne
.Cells(DernLign + Lign + 1, 8) = ListBox1.List(Lign, 7)
me sert a recuperer une valeur de la listbox1 pour l'ecrire dans la feuil20 le souci etant , c est que cette valeur est une date et lors de la recuperation la date est inversée ex : le 04/07/2011 est transformé en 07/04/2011.


j'ai donc transformé le code ainsi qui fonctionne si il existe une valeur
.Cells(DernLign + Lign + 1, 8) = CDate(ListBox1.List(Lign, 7))


si il n'y a pas de valeur j'ai une erreur d'incompatibilité 13
je cherche la bonne syntaxe pour eviter cette erreur si c est vide

merci a tous de votre aide

amicalement

ghislain
 
Re : erreur vba sur format date

Bonjour,

peut être avec un test comme ceci, enfin si j'ai bien compris :
Code:
If Not IsEmpty(ListBox1.List(Lign, 7)) then .Cells(DernLign + Lign + 1, 8) = CDate(ListBox1.List(Lign, 7))

test si non vide, mais tu auras une erreur si contenu n'est pas une date... bizarre d'ailleurs que ta listbox puisse être vide.... il eut été préférable de mieux contrôler l'alimentation...

bonne journée
@+
 
Re : erreur vba sur format date

bonjour pierrot93

merci d etre passé sur mon fil
je viens de tester ton code et malheureusement j ai la meme erreur

pour repondre a ta remarque , ce sera toujours des dates , mais certaine cellules ne seront pas renseignees tandis que d'autre oui.
du coup j'aurai lors de l'alimentation de ma listbox sur cette colonne des cellules vident et d'autre avec des dates

je continue de chercher

merci
 
Re : erreur vba sur format date

Bonjour,
J'ai également un problème de date inversées sur VBA avec la macro suivante, peut-etre pourrez vous m'aider? Je vais chercher dans les colonnes V et G de l'onglet "extraction" des dates pour les réutiliser dans l'onglet "suivi des livraisons", je dois d'abord remplacer l'écriture de certaines dates dont février est écrit FEV, décembre DEC et août AOU, mais ensuite les dates dont le jour est inférieur ou égal à 12 s'inversent et se mettent au format mm/dd/yyyy dans mon onglet suivi des livraisons.

Sheets("Extraction").Select
Range("E1").Select
ActiveCell.FormulaR1C1 = "Clé commande OM"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-4],""-"",RC[-3])"
Range("E2").Select
Selection.AutoFill Destination:=Range("E2:E399")
Range("E2:E399").Select

Cells.Select
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Key2:=Range("A2") _
, Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal

Columns("G:G").Select
Selection.Replace What:="FEV", Replacement:=" Février ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="AOU", Replacement:=" Août ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="DEC", Replacement:=" Décembre ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Columns("V:V").Select
Selection.Replace What:="FEV", Replacement:=" Février ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="AOU", Replacement:=" Août ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="DEC", Replacement:=" Décembre ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sheets("Suivi des livraisons").Select
Range("A1").Select
End Sub
 
Re : erreur vba sur format date

Bonjour Cecileg,

pas trop de rapport avec la question initiale.. le mieux eût été de créer ton propre fil, en y joignant un petit fichier exemple avec modèle de donnée de départ et résultat attendu..

bonne journée
@+
 
- 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

Discussions similaires

Réponses
17
Affichages
2 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
179
Réponses
2
Affichages
520
Retour