Erreur '1004

Bonjour,

Je suis actuellement en train de développer une application excel en VBA, hors tout fonctionne bien sauf mon code servant à supprimer une ligne de mon tableau.

En effet lorsque je clique sur le bouton exécutant le code, le code fait bien ce qu'il doit faire mais il est suivit d'une erreur, à la suite de cet erreur l'application ce ferme.

Voici le code que j'ai écrit :

Private Sub B_DeleteAlesoir_Click()

ContenueCbDésignationAlesoir = Form_Outil.CB_DésignationAlesoir 'Mise en valeur de la variable

    If MsgBox("Etes vous sûr de vouloir supprimmer l'outil : " & CB_DésignationAlesoir & " ?", vbYesNo, "Titre") = vbYes Then 'Si le bouton Oui est cliqué ...
        Selection.EntireRow.Delete  'Instruction supprimant la ligne comportant la cellule active
            CB_DésignationAlesoir.ListIndex = 0 'Fonction actualisant la combobox
    End If

End Sub

Je vous remercie d'avance pour votre aide et je reste disponible pour d'éventuelles questions.

Bonjour

cela serait bien avec le fichier afin de reproduire l'erreur

Quand tu as le message d'erreur, si tu appuies sur Débogage, quelle est la ligne en cause ?

Bonjour Banzai

Supprimé.

A+

Bonjour à vous et merci pour votre aide.

Le débogage s'appuie sur la ligne :

Range("Liste_Alesoir").Find(ContenueCbDésignationAlesoir).Select 'Selectionne la cellule avec la meme valeur que la combobox

du code :

Private Sub CB_DésignationAlesoir_Change()

ContenueCbDésignationAlesoir = Form_Outil.CB_DésignationAlesoir 'Mise en valeur de la variable

    Range("Liste_Alesoir").Find(ContenueCbDésignationAlesoir).Select 'Selectionne la cellule avec la meme valeur que la combobox
        TB_numOutilAlesoir.Value = ActiveCell.Offset(0, 2) 'Affichage de la cellule contenant le numéros d'outil (D=1)
        TB_DiamNominalAlesoir.Value = ActiveCell.Offset(0, 3) 'Affichage de la cellule contenant le diamètre nominal (E=2)
        TB_LongueurTotalAlesoir.Value = ActiveCell.Offset(0, 4) 'Affichage de la cellule contenant la longueur total (F=3)
        TB_LongueurCoupante.Value = ActiveCell.Offset(0, 5) 'Affichage de la cellule contenant la longueur coupante (G=4)
        TB_LongPartActiveAlesoir.Value = ActiveCell.Offset(0, 6) 'Affichage de la cellule contenant la longueur partie active (H=5)
        TB_DiamCorpAlesoir.Value = ActiveCell.Offset(0, 7) 'Affichage de la cellule contenant le diamètre de corp (i=6)
        TB_LongPointeOutilAlesoir.Value = ActiveCell.Offset(0, 8) 'Affichage de la cellule contenant la longueur de pointe de l'outil (J=7)
        TB_DiamEntréAlesoir.Value = ActiveCell.Offset(0, 9) 'Affichage de la cellule contenant le diamètre d'entrée (K=8)
        TB_NblevresAlesoir.Value = ActiveCell.Offset(0, 10) 'Affichage de la cellule contenant le nombre de lèvres (L=2)

End Sub

En ce qui concerne de joindre le fichier sa m'arrangerais bien, mais je ne peut pas étant donner que je suis en stage et que le fichier en question est confidentiel... donc du coup c'est un peut difficile de le partager ici...

Je vous remercie de votre compréhension ainsi que de votre aide.

Bonjour

Sans fichier je ne puis qu'émettre une supposition

Ta plage "Liste_Alesoir" à disparue (à force d'effacer des lignes peut-être ?)

Je n'ai pas d'autre idée en stock

Banzai64 a écrit :

Bonjour

Sans fichier je ne puis qu'émettre une supposition

Ta plage "Liste_Alesoir" à disparue (à force d'effacer des lignes peut-être ?)

Je n'ai pas d'autre idée en stock

La plage est bien toujours présente... Je te remercie tout de même pour ton aide.

Désolé de ne pas pouvoir vous données plus d'éléments...

Suite à quelques modifications, le débogueur justifie l'erreur dans le code suivant :

Private Sub CB_DésignationAlesoir_Change()

ContenueCbDésignationAlesoir = Form_Outil.CB_DésignationAlesoir 'Mise en valeur de la variable

    Range("Liste_Alesoir").Find(ContenueCbDésignationAlesoir).Select 'Selectionne la cellule avec la meme valeur que la combobox
        TB_numOutilAlesoir.Value = ActiveCell.Offset(0, 2) 'Affichage de la cellule contenant le numéros d'outil (D=1)
        TB_DiamNominalAlesoir.Value = ActiveCell.Offset(0, 3) 'Affichage de la cellule contenant le diamètre nominal (E=2)
        TB_LongueurTotalAlesoir.Value = ActiveCell.Offset(0, 4) 'Affichage de la cellule contenant la longueur total (F=3)
        TB_LongueurCoupante.Value = ActiveCell.Offset(0, 5) 'Affichage de la cellule contenant la longueur coupante (G=4)
        TB_LongPartActiveAlesoir.Value = ActiveCell.Offset(0, 6) 'Affichage de la cellule contenant la longueur partie active (H=5)
        TB_DiamCorpAlesoir.Value = ActiveCell.Offset(0, 7) 'Affichage de la cellule contenant le diamètre de corp (i=6)
        TB_LongPointeOutilAlesoir.Value = ActiveCell.Offset(0, 8) 'Affichage de la cellule contenant la longueur de pointe de l'outil (J=7)
        TB_DiamEntréAlesoir.Value = ActiveCell.Offset(0, 9) 'Affichage de la cellule contenant le diamètre d'entrée (K=8)
        TB_NblevresAlesoir.Value = ActiveCell.Offset(0, 10) 'Affichage de la cellule contenant le nombre de lèvres (L=2)

Erreur2:
    If Err.Number = 1004 Then
        'alors on fait rien
    End If

'-------------------------Code permettant la gestions des images Alesoir-------------------------------------'
On Error GoTo Erreur:

    ActiveWorkbook.Save
    chemin_photo = "\\SERV2\Gentilin\FAO\Echange FAO\LISTE OUTIL GENERALE MCM\PHOTO OUTIL\"
    Nom_photo = Form_Outil.CB_DésignationAlesoir.Value
    chem_nom = chemin_photo & Nom_photo & ".jpg"
            Form_Outil.FrameImageAlesoir.Picture = LoadPicture(chem_nom)
             Form_Outil.FrameImageAlesoir.PictureSizeMode = fmPictureSizeModeStretch

Erreur:
    If Err.Number = 53 Then
        'MsgBox "Image non trouvé"
            chemin_photo = "\\SERV2\Gentilin\FAO\Echange FAO\LISTE OUTIL GENERALE MCM\PHOTO OUTIL\"
            Nom_photo = "Erreur"
            chem_nom = chemin_photo & Nom_photo & ".gif"
                Form_Outil.FrameImageAlesoir.Picture = LoadPicture(chem_nom)
                Form_Outil.FrameImageAlesoir.PictureSizeMode = fmPictureSizeModeClip
    End If

End Sub

Je ne sais pas si sa peut vous aider... En tout cas je continue à chercher. Merci d'avance à ceux qui pourrons m'aider.

J'ai résolut mon problème avec le code suivant :

On Error GoTo Erreur:

ContenueCbDésignationAlesoir = Form_Outil.CB_DésignationAlesoir 'Mise en valeur de la variable

    Range("Liste_Alesoir").Find(ContenueCbDésignationAlesoir).Select 'Selectionne la cellule avec la meme valeur que la combobox
        TB_numOutilAlesoir.Value = ActiveCell.Offset(0, 2) 'Affichage de la cellule contenant le numéros d'outil (D=1)
        TB_DiamNominalAlesoir.Value = ActiveCell.Offset(0, 3) 'Affichage de la cellule contenant le diamètre nominal (E=2)
        TB_LongueurTotalAlesoir.Value = ActiveCell.Offset(0, 4) 'Affichage de la cellule contenant la longueur total (F=3)
        TB_LongueurCoupante.Value = ActiveCell.Offset(0, 5) 'Affichage de la cellule contenant la longueur coupante (G=4)
        TB_LongPartActiveAlesoir.Value = ActiveCell.Offset(0, 6) 'Affichage de la cellule contenant la longueur partie active (H=5)
        TB_DiamCorpAlesoir.Value = ActiveCell.Offset(0, 7) 'Affichage de la cellule contenant le diamètre de corp (i=6)
        TB_LongPointeOutilAlesoir.Value = ActiveCell.Offset(0, 8) 'Affichage de la cellule contenant la longueur de pointe de l'outil (J=7)
        TB_DiamEntréAlesoir.Value = ActiveCell.Offset(0, 9) 'Affichage de la cellule contenant le diamètre d'entrée (K=8)
        TB_NblevresAlesoir.Value = ActiveCell.Offset(0, 10) 'Affichage de la cellule contenant le nombre de lèvres (L=2)

Erreur2:
    If Err.Number = 1004 Then
        'alors on fait rien
    End If

Ce qui me permet d'ignorer le message d'erreur et de continuer... Je ne sais pas si c'est bien de faire ce genre de chose, mais bon je n'ai pas eu trop le choix donc vlà.

Merci aux gens qui m’ont aider à essayer de résoudre mon problème;

Bonjour

Mica81 a écrit :

Je ne sais pas si c'est bien de faire ce genre de chose

Juste mon avis

Tu ne sais pas ce qui provoque l'erreur donc ce n'est pas la solution, mais une solution

Rechercher des sujets similaires à "erreur 1004"