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

Problème de format dans une boucle

  • Initiateur de la discussion Initiateur de la discussion karinette
  • 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 !

karinette

XLDnaute Occasionnel
Bonjour à tous ...
J'ai un petit soucis de format dans une boucle. Voici l'initialisation de l'USF :

Private Sub UserForm_Initialize()
With Sheets("PROG")
Lig = ActiveCell.Row
For i = 1 To 10
If (i = 1 Or i = 2 Or i = 3 Or i = 4 Or i = 5 Or i = 7 Or i = 8 Or i = 9 Or i = 10) And .Cells(Lig, i) <> "" Then
Me.Controls("TextBox" & i) = .Cells(Lig, i)
ElseIf (i = 6) And .Cells(Lig, i) <> "" Then
Me.Controls("comboBox" & i) = .Cells(Lig, i)
End If
Next i
End With
End Sub


Tout fonctionne parfaitement, seulement le Textbox3 appelle une cellule au format speciale, qui cumule des heures ([hh]:mm) et mon problème est le suivant :
Je n'arrive pas à recuperer la valeur exacte dans le textbox.
Exemple : pour une valeur de 156:15, j'ai 6,51092592592613 😕

J'avoue être un peu depassée ...

Merci d'avance.
 
Re : Problème de format dans une boucle

Bonjour karinette,

En écrivant :

Code:
Me.Controls("TextBox" & i) = .Cells(Lig, i)[COLOR="Red"].Text[/COLOR]

la TextBox prendra la valeur affichée dans la cellule 🙂

Nota : le format heure [h]:mm n'existe pas en VBA...

A+
 
Re : Problème de format dans une boucle

Bonjour karinette
Essayez :
Code:
[COLOR="DarkSlateGray"][B]Private Sub UserForm_Initialize()
   With Sheets("PROG")
      Lig = ActiveCell.Row
      For i = 1 To 10
         If (i = 1 Or i = 2 Or i = 3 Or i = 4 Or i = 5 Or i = 7 Or i = 8 Or i = 9 Or i = 10) And .Cells(Lig, i) <> "" Then
            Me.Controls("TextBox" & i) = .Cells(Lig, i)
         ElseIf (i = 3) And .Cells(Lig, i) <> "" Then
            Me.Controls("TextBox3") = .Cells(Lig, 3).Text
         ElseIf (i = 6) And .Cells(Lig, i) <> "" Then
            Me.Controls("comboBox" & i) = .Cells(Lig, i)
         End If
      Next i
   End With
End Sub[/B][/COLOR]
ou
Code:
[COLOR="DarkSlateGray"][B]Private Sub UserForm_Initialize()
   With Sheets("PROG")
      Lig = ActiveCell.Row
      For i = 1 To 10
         If .Cells(Lig, i) <> "" Then
            Select Case i
               Case 3: Me.Controls("TextBox3") = .Cells(Lig, 3).Text
               Case 6: Me.Controls("comboBox6") = .Cells(Lig, 6)
               Case Else: Me.Controls("TextBox" & i) = .Cells(Lig, i)
            End Select
         End If
      Next i
   End With
End Sub[/B][/COLOR]
ROGER2327
#3008



__________
Bonjour job75.
 
- 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
5
Affichages
241
Réponses
4
Affichages
179
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…