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

Probleme écriture dans feuille

moi60

XLDnaute Junior
Bonjour à tout le forum,

Ma macro me donne de gros problème que je n'arrive pas à résoudre. J'ai créer un userform qui me sert de formulaire qui, grace à un bouton sauvegarder, m'écris tout dans une feuille excel. Le problème est qu'il me marque qu'il y a un problème modal, or je ne vois pas d'où vient le problème. De plus, lorsque je relance la macro sans fermer le fichier, tout roule! Je suis vraiment perdu!

De plus, je voudrai pouvoir remplir la colonne D automatiquement c'est à dire faire la soustraction des deux temps précédemment entrés (car pour l'instant j'ai écris la formule 'à la main' mais je voudrais le faire directement depuis ma macro, avec le bouton sauvegarder).

Si vous pouviez m'aider, ca m'enlèverai une grosse épine du pied!

Merci d'avance de votre aide,

Cijoint.fr - Service gratuit de dépôt de fichiers

moi60
 

moi60

XLDnaute Junior
Re: Re : Probleme écriture dans feuille

Enfaite je viens de trouver, pour ceux que sa intéresse, j'ai remplacé .Range("a" & intLine).Value = TextBoxDate.Text par .Range("a" & intLine).Value = DateValue(TextBoxDate.Value)

A+

Moi60
 

fhoest

XLDnaute Accro
Re : Probleme écriture dans feuille

Bonjour
j'ai oublié un "Y" il en faut 4.
penche toi sur le Cdate, C pour conversion (Cstr,CDbl,etc..) conversion en string(chaine de caractère) conversion en double
ceci pourra t'aider une autre fois.
A+
es ce que le code de placement de la souris fonctionne ??
 

moi60

XLDnaute Junior
Re: Re : Probleme écriture dans feuille

Je n'ai pas réussi à l'utiliser, et puis après réflexion, le programme n'est pas pour des gens qui utilisent beaucoup l'ordinateur (voir jamais, je suis en mission à l'étranger...) donc je pense que le déplacement automatique va les perdre plutôt qu'autre chose! Je vais me contenter de l'autofocus!

Merci quand même,

PS: Programme fini ^^ merci à toi fhoest

A+ Moi60
 

moi60

XLDnaute Junior
Re: Re : Probleme écriture dans feuille

Salut tout le monde, le forum, fhoest,

Je viens de finir mon petit programme est après plusieurs test je viens de voir qu'il y a (encore) un problème dans l'écriture des données sur la feuille.
En effet, lorsque je met pour heure de début 10h50 et heure de fin 11H20, il va me compter 1H30 au lieu de 0h30 (puisqu'il fait 11-10 puis (20-50)+60 ). Je ne vois pas comment régler le problème, je tourne en rond. Je pense qu'il faut peut-être jouer avec FORMAT(hh:mm) mais n'y arrive pas.
Pouvez vous m'aider s'il vous plait ? Merci beaucoup!

Voici le code d'écriture:

Code:
Private Sub CommandSave_Click()
Dim intline, r1, r2 As Integer
Dim f As Long
Dim w As String

r1 = (Left(ComboBox3.Value, 2) - Left(ComboBox2.Value, 2))
r2 = (Right(ComboBox3.Value, 2) - Right(ComboBox2.Value, 2))
If r1 < 0 Then r1 = 23 + r1
If r2 < 0 Then r2 = 60 + r2
'save data on the sheet
                    Application.ScreenUpdating = False
                        With Sheets("data")
                        intline = .Range("A10000").End(xlUp).Row + 1
                        .Range("a" & intline).Value = DateValue(TextBoxDate.Value)
                        .Range("b" & intline).Value = ComboBox2.Text
                        .Range("c" & intline).Value = ComboBox3.Text
                        r1 = (Left(ComboBox3.Value, 2) - Left(ComboBox2.Value, 2))
                        r2 = (Right(ComboBox3.Value, 2) - Right(ComboBox2.Value, 2))
                        If r1 < 0 Then r1 = 23 + r1
                        If r2 < 0 Then r2 = 60 + r2
                        .Range("d" & intline).Value = r1 & ":" & r2
                        .Range("e" & intline).Value = ComboBox1.Text
                        .Range("f" & intline).Value = TextBoxCOMMENTAIRE.Text
                        Sheets("acasa").Select
                        MsgBox "Date salvate"
                        End With
                    Application.ScreenUpdating = True
                    Unload UserForm1
                    Load welcome
                    welcome.Show
        End If
End If
      End Sub

EDIT : J'ai enfin trouvé cela fonctionne avec If r1 = 1 And r2 <> 0 Then r1 = 0

Je ne sais pas si c'est la meilleure solution, je vais tester...
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…