Erreur d'exécution '1004' erreur définie par l'application o

Fermé
Alexandre123456789 - 4 oct. 2023 à 17:52
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 - 9 oct. 2023 à 12:14

Bonjour,

J'ai cette erreur qui apparait quand je remplie mon userform et appuie sur mon bouton valider. Si vous voulez les donnees inscrite dans le userform sont censé s'écrire sur la premiere ligne vide de ma feuilpropriétaires ( il y a la ligne 1 qui est l'en tete) Je vais vous donner le code du userform et du module

Voici le code du module : 

Public LigneAModifier As Long 'Recupere l'indice de la ligne a modifier ou a supprimer d'un fichier de données'

Public AjouterouModif As Boolean 'True si Ajout et False si modification'

'Fonction DerLigne pour determiner la ligne d'ajout d'une nouvelle information, ou la derniere ligne de notre tableau de donnees

Function DerLigne(Nomfeuille As String, Col As String) As Long

DerLigne = 1

Do

DerLigne = DerLigne + 1

Loop Until Sheets(Nomfeuille).Range(Col & DerLigne).Value = ""

End Function

'Fonction de recherche de doublons

Function RechercheDoublons(Nomfeuille As String, ColRech As String, ValeurRecher As String, i As Long) As Boolean

RechercheDoublons = False

Dim j As Long

j = 1

Do

j = j + 1

If Not Sheets(Nomfeuille).Range(ColRech & j).Value = "" Then

If (Sheets(Nomfeuille).Range(ColRech & j).Value = ValeurRecher) And (i <> j) Then

RechercheDoublons = True

End If

End If

Loop Until Sheets(Nomfeuille).Range("A" & j).Value = ""

End Function

Voici le code du userform: 

Private Sub CmdValider_Click()

Dim i, j As Long

If AjoutouModif = True Then

i = DerLigne(FeuilPropriétaires.Name, "A")

j = 1

Else

i = LigneAModifier

j = i

End If

'Controle de saisie'

If Me.TextBox1.Value = "" Then 'zone de saisie du nom ne doit pas être vide'

MsgBox "Veuillez saisir le nom avant de continuer !", vbCritical Me.TextBox1.SetFocus

ElseIf Me.TextBox2.Value = "" Then 'zone de saisie du contact ,ne doit pas être vide'

MsgBox "Veuillez saisir le contact avant de continuer !", vbCritical

Me.TextBox2.SetFocus

ElseIf RechercheDoublons(FeuilPropriétaires.Name, "A", Me.TextBox1.Value, j) = True

Then 'Si doublons deetecté'

MsgBox "Ce nom de propiétaire existe déja dans notre base de données, veuillez ajouter un indice de différentiation si il s'agit de deux personnes différentes.", vbCritical

Else

For j = 1 To 4

FeuilPropriétaires.Cells(i, j).Value = Me.Controls("TextBox" & j).Value

Next j

Unload Me

End If

End Sub

A voir également:

8 réponses

f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
5 oct. 2023 à 11:37

Bonjour,

Votre fichier serait plus interessant que du code

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

0
Alexandre123456789
5 oct. 2023 à 22:26

Voici le lien cjoin : https://www.cjoint.com/c/MJfuubNi8eJ

Pour mieux expliquer, en faites je suis entrain de créer un Excel de gestion.

Il est pas terminé vu que je bloque sur le userform utilisé pour encoder les informations dans la feuille intitulé (propriétaires). Pour avoir accès à ce userform il faut être sur la feuille accueil, appuyé sur le bouton propriétaires puis dans la fenêtre qui s’ouvrira il faudra appuyé sur ajoute et là il y a erreur 1004.

En essayant plusieurs code pour pouvoir déterminer le bug, j’ai remarqué dans la console que la variable i est égale à 0 alors que ça ne devrait pas être le cas. J’ai donc du mal de comprendre voilà tout. 
‘merci d’avance 

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
6 oct. 2023 à 07:38

Bonjour,

Ok, je regarde la chose

Suite:

Pour info

DerLig = Range("A" & Rows.Count).End(xlUp).Row

C'est quand meme plus rapide que faire une boucle sur  une colonne

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
6 oct. 2023 à 07:58

Suite:

qu'est ce que ceci vient faire dans l'UF saisie proprio

Private Sub CmdValider_Click()
 Dim DerLig As Long, j As Long
 
 If AjoutouModif = True Then
0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711 > f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024
6 oct. 2023 à 11:29

Re,

J'ai trouve, je ne lancai pas la bonne UF.

Je n'ai aucune erreur

Cependant, toutes les UF fmTable..... la listbox se remplit avec un tableau dedie. Probleme la facon de remplir ces tableaux doit etre avec des intructions propres aux tableaux ou modifier la facon de remplir ces ListBox

Perso, je n'utilise pas deux UF pour Saisie, ajout, modif, supprime

0
Alexandre123456789
6 oct. 2023 à 12:05

Bonjour, 

vous n’avez donc pas d’erreur quand vous remplissez la fenêtre fmsaisie_propietaires et que vous appuyez sur le bouton valide. Et pour répondre à votre question normalement si on remplie directement le tableau dans la feuille propriétaires, on voit que la listbox se remplie. Si j’avais bien compris mon problème c’est qu’il ne trouve pas les cellules ou il doit remplir. Mais si vous me dites que vous avez pas d’errer pouvez vous me renvoyer le programme si vous avez changé.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
Modifié le 6 oct. 2023 à 18:17

Re,

En effet, il y a bien une erreur, mais pas que

1/ vous avez ecrit

    For j = 1 To 4
        FeuilPropriétaires.Cells(i, j).Value = Me.Controls("TextBox" & j).Value
    Next j

Alors que cela doit etre

    For j = 1 To 4
        Worksheets(FeuilPropriétaires.Name).Cells(i, j).Value = Me.Controls("TextBox" & j).Value
    Next j

J'avais corrige sans penser que c'etait l'erreur recherchee et ensuite j'ai fais des modifs pour les boucle de recherche ligne et doublon. Je viens de modifie votre fichier d'origine restait le probleme du boolean AjoutouModif = True qui s'appelle en realite

Public AjouterouModif As Boolean   'True si Ajout et False si modification'

Par contre, j'ai un probleme au bout de 3 ou 4 ajouts, les suivants ne sont pas dans le tableau Table_proprietaire mais en dessous donc plus affiches dans la listbox

https://www.cjoint.com/c/MJgqbU2RhRg

Testez et dites si chez vous c'est de meme. De plus ca plante Excel!

Avec "mon" fichier, en dehors code du boolean qu'il faut que je rajoute, en utilisant un code un peu modifie y a pas ce probleme et pas de plantage. Mais le mieux serait d'utiliser les instructions de gestion de tableau structure

0
Alexandre123456789
7 oct. 2023 à 01:41

Moi je n’ai pas votre problème en utilisant votre fichier car en faites je suis toujours bloqué avec l’erreur 1004. Voici les captures d’écrans: https://www.cjoint.com/c/MJgxN5Sd8EJ

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
7 oct. 2023 à 09:01

Bonjour,

Je regarde la chose

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
7 oct. 2023 à 10:17

Re,

Excel se plante allegrement

Je cherche pourquoi

Vous avez quel Excel?

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711 > f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024
Modifié le 7 oct. 2023 à 11:56

Re,

L'erreur se produit le plus souvent sur la validation apres un enregistrement du fichier

Plante etc.... et Excel redemarre

C'est la premiere fois que je me trouve devant ce probleme de gestion tableau structure

0
Alexandre123456789 > f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024
7 oct. 2023 à 12:32

re
J’ai Excel 2019. Oui c’est vraiment bizarre. Oui effectivement c’est quand ont valide mais est que vous cela remplie le tableau ? Car moi ça ne fait même pas cela ça fait juste erreur 1004.

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711 > Alexandre123456789
Modifié le 7 oct. 2023 à 15:59

Re,

Si erreur, pas de remplissage.

Je vais tenter kake chose

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711 > f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024
7 oct. 2023 à 17:53

Re,

Si je modifie un fichier tableau a moi qui n'a pas de probleme en ajoutant vos Userform, ca deconne au bout d'un certain nombre d'enregistrement ou apres sauvegarde du fichier

Demain, je creerai un fichier en creant tout UF, Tableaux etc...

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
9 oct. 2023 à 07:11

Bonjour,

Pas fait, verrai aujourd'hui.

Les Tableaux structures sont indispensable ou pas?

 En dernier recours, c'est la solution possible

0
f894009 Messages postés 17213 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 25 décembre 2024 1 711
9 oct. 2023 à 12:14

Re,

Codage sans tableau structure pas de probleme

J'ai essaye plusieurs codage pour remplir un tableau et des que j'enregistre en partant de la feuille Excel ca deconne

Mais je continue a chercher pour les tableaux.

0