Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format date à partir d'un textbox

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 !

Victor21

XLDnaute Barbatruc
Supporter XLD
Bonjour.

J'essaie d'adapter un code de kjin pour que les dates saisies dans les textbox dont les tag sont 9,10,11 et 15 soient correctement copiées sur la feuille.
Code:
Private Sub CommandButton1_Click()
Dim ctl As Control, dl&
With Feuil3
    dl = .Range("A65000").End(xlUp).Row + 1
    For Each ctl In Controls
        If ctl.Tag <> "" And ctl.Tag <> "9" And ctl.Tag <> "10" And ctl.Tag <> "11" And ctl.Tag <> "15" Then
            .Cells(dl, Int(ctl.Tag)) = ctl.Value
            ElseIf ctl.Tag = "9" Or ctl.Tag = "10" Or ctl.Tag = "11" Or ctl.Tag = "15Then            .Cells(dl, Int(ctl.Tag)) = CDate(ctl.Value)
        End If
    Next
End With
Unload Me
End Sub
La ligne
.Cells(dl, Int(ctl.Tag)) = CDate(ctl.Value)
apparait en erreur 13, incompabilité de type.

J'ai testé plusieurs codes glanés sur ce forum et sur le net, j'ai essayé avec Select Case, sans résultat.

Merci d'avance à qui pourra me dépanner.
 
Re : Format date à partir d'un textbox

Bonsoir, et merci, Papou-net.

Mais le problème persiste avec le même message d'erreur.
C'est vraiment prise de tête, ces dates en VBA.
😡

Alors essaies en modifiant comme ceci :

Code:
Private Sub CommandButton1_Click()
Dim ctl As Control, dl&
With Feuil3
  dl = .Range("A65000").End(xlUp).Row + 1
  For Each ctl In Controls
    Select Case ctl.Tag
      Case ""
      Case 9 To 11, 15
        .Cells(dl, ctl.Tag) = CDate(ctl.Value)
      Case Else
        .Cells(dl, Int(ctl.Tag)) = ctl.Value
    End Select
  Next
End With
Unload Me
End Sub

Espérant avoir résolu.

Cordialement.
 
Re : Format date à partir d'un textbox

Bonsoir Victor,
Tu as 2 conditions imbriquées et de plus ça n'est pas <>"9"... mais ="9"..., si j'ai bien compris
Tu sais qu'avec un fichier c'est toujours mieux...
Code:
Private Sub CommandButton1_Click()
Dim ctl As Control, dl&
With Feuil3
    dl = .Range("A65000").End(xlUp).Row + 1
    For Each ctl In Controls
        If IsDate(ctl) Then
            If ctl.Tag = "9" Or ctl.Tag = "10" Or ctl.Tag = "11" Or ctl.Tag = "15" Then
                .Cells(dl, Int(ctl.Tag)) = CDate(ctl.Value)
            End If
        End If
    Next
End With
Unload Me
End Sub
A+
kjin
 
Re : Format date à partir d'un textbox

Bonsoir, kjin.

J'ai testé sur une date : 1/2/2011 et le report se fait désormais correctement.
Ou dois-je placer l'autre condition (Pour tous les autres ctl qui ne sont pas une date )?

ps : Merci de m'avoir fait découvrir .tag.
 
- 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
2
Affichages
504
Réponses
35
Affichages
2 K
Réponses
17
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…