Excel et code VB
Fermé
vcloclo1
Messages postés
489
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 octobre 2024
-
1 mai 2010 à 12:16
vcloclo1 Messages postés 489 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 13 octobre 2024 - 2 mai 2010 à 16:26
vcloclo1 Messages postés 489 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 13 octobre 2024 - 2 mai 2010 à 16:26
A voir également:
- Excel et code VB
- Si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Code asci - Guide
- Code puk bloqué - Guide
8 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
1 mai 2010 à 14:16
1 mai 2010 à 14:16
Bonjour,
et si tu donnais l'erreur ça serait mieux non ?
eric
et si tu donnais l'erreur ça serait mieux non ?
eric
vcloclo1
Messages postés
489
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 octobre 2024
31
1 mai 2010 à 15:32
1 mai 2010 à 15:32
Autant pour moi, j'avais complement oublier lol
Voici les captures
http://img87.imageshack.us/img87/5047/20100501152906.jpg
http://img260.imageshack.us/img260/3660/20100501152925.jpg
Voici les captures
http://img87.imageshack.us/img87/5047/20100501152906.jpg
http://img260.imageshack.us/img260/3660/20100501152925.jpg
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
1 mai 2010 à 15:42
1 mai 2010 à 15:42
Re,
En fait format sert à formater un affichage pour un nombre et retourne une chaine.
Toi tu veux l'inverse, cad transformer une chaine en une date numérique valide.
Utilise cdate() et met le format d'affichage voulu dans la cellule.
eric
En fait format sert à formater un affichage pour un nombre et retourne une chaine.
Toi tu veux l'inverse, cad transformer une chaine en une date numérique valide.
Utilise cdate() et met le format d'affichage voulu dans la cellule.
eric
vcloclo1
Messages postés
489
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 octobre 2024
31
1 mai 2010 à 17:02
1 mai 2010 à 17:02
Pourquoi avec mes autre userform ça marche, j'ai fait la meme chose pourtant.
cdate() je le mets ou exactement ?
Merci
cdate() je le mets ou exactement ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
Modifié par eriiic le 1/05/2010 à 17:32
Modifié par eriiic le 1/05/2010 à 17:32
Pourquoi avec mes autre userform ça marche
N'hésite pas à regarder l'aide excel sur les fonctions, elle est très bien faite.
essaie avec :
Range("A6").End(xlDown).Offset(1, 0) = cdate(TextBox1.Value)
N'hésite pas à regarder l'aide excel sur les fonctions, elle est très bien faite.
essaie avec :
Range("A6").End(xlDown).Offset(1, 0) = cdate(TextBox1.Value)
vcloclo1
Messages postés
489
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 octobre 2024
31
2 mai 2010 à 11:27
2 mai 2010 à 11:27
Toujours la meme erreur
vcloclo1
Messages postés
489
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 octobre 2024
31
2 mai 2010 à 11:39
2 mai 2010 à 11:39
Voici mon autre code fait de la meme maniere et qui fonctionne :
'Liste déroulante de "Libellé" Private Sub ComboBox1_Enter() Dim c As Range 'Pour nettoyer la combobox, sinon les items s'ajoutent à l'infini ComboBox1.Clear Application.ScreenUpdating = False 'On change de feuil Worksheets("Paramètre").Select If Range("A3") <> "" Then 'On détermine la longueur de la liste existante en colonne A For Each c In Range("A3", Range("A3").End(xlDown).Address) 'On ajoute les items qui se trouvent déjà dans la liste ComboBox1.AddItem c Next End If 'On revient à la bonne feuil Worksheets("Dépenses&RecettesChiens").Select Application.ScreenUpdating = True End Sub 'Liste déroulante de "Nom" Private Sub ComboBox2_Enter() Dim c As Range 'Pour nettoyer la combobox, sinon les items s'ajoutent à l'infini ComboBox2.Clear Application.ScreenUpdating = False Worksheets("Dépenses&RecettesChiens").Select If Range("G6") <> "" Then 'On détermine la longueur de la liste existante en colonne F12 For Each c In Range("G6", Range("G6").End(xlDown).Address) 'On ajoute les items qui se trouvent déjà dans la liste ComboBox2.AddItem c Next End If End Sub 'Bouton "Effacer" pour vider les champs de la boite de dialogue Private Sub Effacer_Click() On Error Resume Next 'Pour nettoyer le contenu de la boite de dialogue TextBox1 = "jj/mm/aaaa" 'Date ComboBox1 = "" 'Libellé TextBox2 = "" 'Somme ComboBox2 = "" 'Nom TextBox3 = "" 'Commentaires End Sub 'Bouton "Ok" pour inserer/valider Private Sub Ok_Click() Dim c As Range 'Si le champ Date est vide If TextBox1.Value = "" Then MsgBox "Champ ''Date'' non renseigner" Exit Sub End If 'Si le champ Date n'a pas le bon format If TextBox1.Value = "dd/mm/yyyy" Then MsgBox "Champ ''Date'' non renseigner, Format Incorrect" Exit Sub End If 'Si le champ Libellé est vide If ComboBox1.Value = "" Then MsgBox "Champ ''Libellé'' non renseigner" Exit Sub End If 'Si le champ Somme est vide If TextBox2.Value = "" Then MsgBox "Aucune Somme entrée" Exit Sub End If 'Si le champ date na pas le bon format If Not IsDate(TextBox1) Then 'On affiche le message d'erreur MsgBox "Format de la date Incorrect" 'Option 1 : Si on veut vidé le champ 'TextBox1 = "" 'Option 2 : Si on veut affiché l'exemple du format TextBox1 = "jj/mm/aaaa" Exit Sub End If Worksheets("Dépenses&RecettesChiens").Select 'Sert a l'insertion dans la colonne aproprier Range("A3").End(xlDown).Offset(1, 0) = Format(TextBox1.Value, "dd/mm/yyyy") 'Date Range("A3").End(xlDown).Offset(0, 1) = Format(ComboBox1.Value) 'Libellé Range("A3").End(xlDown).Offset(0, 2) = Format(TextBox2.Value, NumberFormat) 'Somme Range("A3").End(xlDown).Offset(0, 3) = ComboBox2 'Nom Range("A3").End(xlDown).Offset(0, 4) = TextBox3 'Commentaires End Sub 'Bouton Quitter pour fermer la boite de dialogue Private Sub Quitter_Click() Unload UserForm1 End Sub
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
2 mai 2010 à 11:51
2 mai 2010 à 11:51
Difficile de savoir sans avoir le classeur...
Est-ce que le bouton ok où tu mets le code en défaut appartient bien au même formulaire que textbox1 ? Sinon il faut préciser le formulaire : UserForm1.TextBox1.Value
Mais ça ne retire rien à ce que je t'ai dit avant même si ton code fonctionne : format() te retourne une chaine et je pense que c'est du numérique que tu veux.
eric
Est-ce que le bouton ok où tu mets le code en défaut appartient bien au même formulaire que textbox1 ? Sinon il faut préciser le formulaire : UserForm1.TextBox1.Value
Mais ça ne retire rien à ce que je t'ai dit avant même si ton code fonctionne : format() te retourne une chaine et je pense que c'est du numérique que tu veux.
eric
vcloclo1
Messages postés
489
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
13 octobre 2024
31
Modifié par vcloclo1 le 2/05/2010 à 16:27
Modifié par vcloclo1 le 2/05/2010 à 16:27
Le problème c'est qu'avec ton code j'ai eu la même erreur.
Donc je comprend plus rien.
Chaque userform a un Ok diffèrent, chaque code est indépendant.
L'esprit c'est comme un parachute, qui est utile seulement quand il est ouvert.
Donc je comprend plus rien.
Chaque userform a un Ok diffèrent, chaque code est indépendant.
L'esprit c'est comme un parachute, qui est utile seulement quand il est ouvert.