VBA / Erreur d'exécution 1004
Résolu/Fermé
A voir également:
- Excel vba erreur 1004
- Erreur 1004 vba - Meilleures réponses
- Vba error 1004 - Meilleures réponses
- Erreur 0x80070643 - Accueil - Windows
- Erreur 1004 vba ✓ - Forum VB / VBA
- Liste déroulante excel - Guide
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Si et excel - Guide
5 réponses
Bonjour à tous, j'avais supprimé mon message pour le compléter,
et Horusbk y a répondu entre-temps ; je poste de nouveau mon
message à votre intention.
Bonjour Horusbk,
Ma réponse est par rapport à ton 1er message (pas le 2ème).
La ligne que tu as indiquée est dans cette partie du code VBA
de ton UserForm :
Donc :
a) Vérifie le nom de ta feuille : est-ce bien "ADAPTATION" ?
b) As-tu réellement 17 Textbox, de Textbox1 à Textbox17 ?
c) Lalignefiltre est Long : ok ; mais pour i, un Byte suffit.
d) Mets Next i plutôt que Next : ce sera plus rapide.
e) Au lieu de Unload UserForm1 mets : Unload Me
À tout hasard, essaye avec :
Mais normalement, ça devrait faire pareil.
NB : Personnellement, je préfère mettre la sub UserForm_initialize()
en premier, donc juste après Option Explicit, car c'est elle qui est
exécutée en 1er dès l'ouverture du formulaire ; bien sûr, cela ne
change rien au résultat du code VBA, mais à la lecture du code
de ton UserForm, tu vois d'emblée le travail qui est fait de suite,
et qui a son importance pour la suite du code.
Si ton problème est réglé, merci de passer le sujet en résolu ;
sinon, je te laisse voir la suite avec yg_be.
et Horusbk y a répondu entre-temps ; je poste de nouveau mon
message à votre intention.
Bonjour Horusbk,
Ma réponse est par rapport à ton 1er message (pas le 2ème).
La ligne que tu as indiquée est dans cette partie du code VBA
de ton UserForm :
With Sheets("ADAPTATION") For i = 1 To 17 .Cells(LaligneFiltre, i) = Me.Controls("Textbox" & i).Value Next .Cells(LaligneFiltre, "Q") = CDate(Me.TextBox17) End With Unload UserForm1
Donc :
a) Vérifie le nom de ta feuille : est-ce bien "ADAPTATION" ?
b) As-tu réellement 17 Textbox, de Textbox1 à Textbox17 ?
c) Lalignefiltre est Long : ok ; mais pour i, un Byte suffit.
d) Mets Next i plutôt que Next : ce sera plus rapide.
e) Au lieu de Unload UserForm1 mets : Unload Me
À tout hasard, essaye avec :
With Sheets("ADAPTATION") For i = 1 To 17 .Cells(LaligneFiltre, i) = Controls("Textbox" & i) Next i .Cells(LaligneFiltre, "Q") = CDate(TextBox17) End With Unload Me
Mais normalement, ça devrait faire pareil.
NB : Personnellement, je préfère mettre la sub UserForm_initialize()
en premier, donc juste après Option Explicit, car c'est elle qui est
exécutée en 1er dès l'ouverture du formulaire ; bien sûr, cela ne
change rien au résultat du code VBA, mais à la lecture du code
de ton UserForm, tu vois d'emblée le travail qui est fait de suite,
et qui a son importance pour la suite du code.
Si ton problème est réglé, merci de passer le sujet en résolu ;
sinon, je te laisse voir la suite avec yg_be.
5 juil. 2017 à 18:06
Je me suis demandé pourquoi je ne voyais plus ton message... mais voilà l'explication.
J'ai ajusté la place de UserForm_initialize() comme tu l'as conseillé.
Encore merci de ton aide.
Baptiste.