erreur d exécution 70

snoopy07

XLDnaute Occasionnel
Bonsoir le forum

j ai le code erreur d' execution 70 qui s affiche quand je veux ouvrir mon userfrom et quand je clic sur deblocage
ca m affiche FrmModification surlignée en jaune
voir capture d imaque ci joint

j aurais besoin de vos conseils et de vos explication pour resoudre mon probleme

dans l attente d une reponse je vous souhaite une bonne soirée

Cordialement
Snoopy 07
 

Pièces jointes

  • erreur 70.PNG
    erreur 70.PNG
    31.1 KB · Affichages: 26
  • frmmodification.jpg
    frmmodification.jpg
    39.9 KB · Affichages: 23
  • essai 21 nouvelle feuille.xlsm
    111.8 KB · Affichages: 21
  • essai 21 nouvelle feuille.xlsm
    111.8 KB · Affichages: 54

Lone-wolf

XLDnaute Barbatruc
Re : erreur d exécution 70

Bonsoir snoopy

Ce n'est pas le formulaire qui cause problème, mais les macros qui sont incorporées.

Les variables sont mal définies: f par exemple. C'est Dim f As Worksheet ou Public f As Worksheet, c As Range

Set f = Sheets("janvier") quoi que pas indispensable

For Each c In Range(f.[B6], f.[B65000].End(xlUp))

With Sheets("janvier")
For each c in .Range("b6:b" & .Range("b65000").End(xlUp))
.....
Next c
End with

Je te laisse le soin de bien regarder le reste et y apporter les corrections.
 

jecherche

XLDnaute Occasionnel
Re : erreur d exécution 70

Bonjour,

FrmModification ... TxtRecherche ... dans sa propriété ... RowSource , tu as inscrit "Jours".

Essaie en enlevant "Jours".

Ensuite, il restera les autres TxtBox à renommer selon ton code ...


Jecherche
 

Lone-wolf

XLDnaute Barbatruc
Re : erreur d exécution 70

Bonsoir Jecherche

Il faut aussi remplacer TxtRecherche par CmbRecherche vu que c'est une Combobox.

Code:
Option Explicit
Dim ligne As Long, f As Worksheet, c As Range

Private Sub UserForm_Initialize()
     Dim i As Integer

    With Sheets("janvier")
    For i = 6 To .Range("b65536").End(xlUp).Row
        CmbRecherche.AddItem .Range("b" & i)
    Next i
    End With
End Sub

Private Sub UserForm_Activate()
CmbRecherche = ""
End Sub

Private Sub CmbRecherche_Click()

    ligne = Me.CmbRecherche.ListIndex + 6
     Set f = Sheets("janvier")
With f
   Me.TxtJours = .Cells(ligne, 2)
   Me.TxtCatégorie = .Cells(ligne, 3)
   Me.TxtEtablissement = .Cells(ligne, 4)
   Me.TxtQuiQuoi = .Cells(ligne, 5)
   Me.TxtType = .Cells(ligne, 6)
   Me.TxtNChèque = .Cells(ligne, 7)
   Me.TxtCrédit = .Cells(ligne, 8)
   Me.TxtDébit = .Cells(ligne, 9)
End With
End Sub

Private Sub CmdAjouter4_Click()

Set f = Sheets("janvier")
ligne = f.Range("b65536").End(xlUp)(2)

  '--- Transfert Formulaire dans Feuille active
With f
   .Cells(ligne, 2) = Me.TxtJours
   .Cells(ligne, 3) = Me.TxtCatégorie
   .Cells(ligne, 4) = Me.TxtEtablissement
   .Cells(ligne, 5) = Me.TxtQuiQuoi
   .Cells(ligne, 6) = Me.TxtNChèque
   .Cells(ligne, 7) = Me.TxtCrédit
   .Cells(ligne, 8) = Me.TxtDébit 
End With
End Sub

Private Sub CmdFermer4_Click()
    
    Unload Me ' le ferme
    'Sélection de la cellule A1
       Sheets("janvier").Range("A1").Activate
    Call Mise_en_couleur
    'on remet la protection de la feuille
    ActiveSheet.Protect
End Sub
 
Dernière édition:

snoopy07

XLDnaute Occasionnel
Re : erreur d exécution 70

bonsoir lone-wolf ,jecherche

merci pour vos reponse j ai fait les modif que vous m avez dit
et maintenant
j ai un souci sur mon Private Sub TxtRecherche_Click()

Cordialement

Snoopy 07
 

Pièces jointes

  • essai 21 nouvelle feuille.xlsm
    109.2 KB · Affichages: 16
  • essai 21 nouvelle feuille.xlsm
    109.2 KB · Affichages: 15

snoopy07

XLDnaute Occasionnel
Re : erreur d exécution 70

re lone-wolf ,jecherche

merci pour la modification

je viens de faire la modifie et maintemant ca bloque qund je clic sur modifier

j ai erreur d execution 1004 qui s affiche voir capture d image ci joint

cordialement

Snoopy 07
 

Pièces jointes

  • essai 21 nouvelle feuille.xlsm
    110.8 KB · Affichages: 17
  • essai 21 nouvelle feuille.xlsm
    110.8 KB · Affichages: 20
  • cdmajouter.jpg
    cdmajouter.jpg
    40.3 KB · Affichages: 29
  • 1004.PNG
    1004.PNG
    30.2 KB · Affichages: 21

jecherche

XLDnaute Occasionnel
Re : erreur d exécution 70

Bonjour,

La variable ligne = 0 car il y a un problème ici : ligne = f.Range("b65536").End(xlUp)(2)

Je ne connais pas cette façon de coder. Je ne comprends pas " (2) " à la fin

Quel est le but ? Est-ce de trouver la première ligne vide à la fin du tableau ? ... sans utilier " .row " ??


Jecherche
 

Lone-wolf

XLDnaute Barbatruc
Re : erreur d exécution 70

Bonjour Jecherche, Snoopy

@Jecherche: elle ne va pas trouver, mais inscrire les données dans la première ligne vide du tableau.

@Snoopy: il faut changer la ligne par celle-ci: ligne = f.Range("b65536").End(xlUp).Row + 1
Et encore une chose: modifier et ajouter ce n'est pas la même chose, tu devrait le savoir. Si c'est pour ajouter des données le code est correct. Mais, vu que c'est un formulaire de modification, le code doit être écrit autrement; c'est à dire

Code:
Private Sub CmdModifier_Click()
Dim cel As Range
' on enlève la protection de la feuille
    ActiveSheet.Unprotect
  '--- Transfert Formulaire dans Feuille active
With Sheets("janvier").Range("b6:i65536")
Set cel = .Find(CmbRecherche, , xlValues)
If Not cel Is Nothing Then
 cel.Offset(0, 0) = Me.TxtJours
 cel.Offset(0, 1) = Me.TxtCatégorie
 cel.Offset(0, 2) = Me.TxtEtablissement
 cel.Offset(0, 3) = Me.TxtQuiQuoi
 cel.Offset(0, 4) = Me.TxtType
 cel.Offset(0, 5) = Me.TxtNChèque
 cel.Offset(0, 6) = Me.TxtCrédit
 cel.Offset(0, 7) = Me.TxtDébit
 End If
End With
End Sub
 
Dernière édition:

snoopy07

XLDnaute Occasionnel
Re : erreur d exécution 70

Bonjour Lone-wolf

merci pour ce code mais j ai un souci quand je clic sur modifier sur ma ligne 6 ca me met rempli mon tableau a partir de la cellule G6
et quand je fais une modification sur ma ligne 7 ca marche mais ca me garde pas le format de ma cellule

cest a dire que jours est affiche 07 et quand je modifie sa m affiche 7

et ma chaine de calcul ne se fait plus

voir ls capture d image ci joint

Cordialement
Snoopy 07
 

Pièces jointes

  • essai 21 nouvelle feuille.xlsm
    113.5 KB · Affichages: 12
  • Avant modif.jpg
    Avant modif.jpg
    31.5 KB · Affichages: 26
  • essai 21 nouvelle feuille.xlsm
    113.5 KB · Affichages: 12
  • Apres modifi.jpg
    Apres modifi.jpg
    28.5 KB · Affichages: 28
  • Avant modif.jpg
    Avant modif.jpg
    31.5 KB · Affichages: 21

jecherche

XLDnaute Occasionnel
Re : erreur d exécution 70

Bonjour,

Dans la macro : CmdModifier_click ... il y avait une recherche ... étant données que l'info n'était pas unique, ce n'était pas la bonne approche ... le résultat donnait la première occurrence trouvée.

Je suggère :
Code:
Private Sub CmdModifier_Click()
Dim cel As Range
' on enlève la protection de la feuille
   ActiveSheet.Unprotect
  '--- Transfert Formulaire dans Feuille active
With Sheets("janvier")
Set cel = Range("b" & ligne)  'ici on trouve la bonne ligne du tableau
If Not cel Is Nothing Then
  cel.Offset(0, 0) = Format(Me.TxtJours, "00")
  cel.Offset(0, 1) = Me.TxtCatégorie
  cel.Offset(0, 2) = Me.TxtEtablissement
  cel.Offset(0, 3) = Me.TxtQuiQuoi
  cel.Offset(0, 4) = Me.TxtType
  cel.Offset(0, 5) = Me.TxtNChèque
  If Me.TxtCrédit = "" Then cel.Offset(0, 6) = 0       '   modif ici
  If cel.Offset(0, 6) = 0 Then cel.Offset(0, 6) = ""    '   et ici
  cel.Offset(0, 7) = Me.TxtDébit
End If
End With
End Sub

Ainsi, même si en colonne B il y a plusieurs "Jours" identiques, on se base sur "ListIndex" de "CmbRecherche" et ça fonctionne beaucoup mieux.

Espérant le tout conforme...


Jecherche
 
Dernière modification par un modérateur:

snoopy07

XLDnaute Occasionnel
Re : erreur d exécution 70

Bonjour jecherche

merci pour votre aide je viens de modifier mon code et sa marche bien pour la modification
mais j ai un autre souci maintenant

j ai #valeur! qui s'affiche au lieu du resultat de mon opération qui est:

=SI(B6="";"";SI(ESTNUM(INDIRECT("J"&LIGNE()-1));INDIRECT("J"&LIGNE()-1)+INDIRECT("H"&LIGNE())-INDIRECT("I"&LIGNE());Solde_Réel))

merci de me dire pourquoi j ai cette erreur et de m expliquer comme la resoudre

cordialement

Snoopy 07
 

Pièces jointes

  • Avant modif.jpg
    Avant modif.jpg
    31.5 KB · Affichages: 22
  • modif.PNG
    modif.PNG
    16.7 KB · Affichages: 13
  • valeur.jpg
    valeur.jpg
    50.8 KB · Affichages: 20
  • Avant modif.jpg
    Avant modif.jpg
    31.5 KB · Affichages: 27
  • valeur.jpg
    valeur.jpg
    50.8 KB · Affichages: 19
  • essai 22 nouvelle feuille.xlsm
    102.5 KB · Affichages: 13

jecherche

XLDnaute Occasionnel
Re : erreur d exécution 70

Bonjour,

Cela ne provient pas de la programmation Vba, mais de la formule. Car, ajoute 0 dans le crédit de cette ligne ... puis enlève le 0 dans crédit.

La formule aurait besoin de gérer cela ... je ne suis vraiment pas bon en formule ...


Jecherche
 

Statistiques des forums

Discussions
312 581
Messages
2 089 919
Membres
104 307
dernier inscrit
Diet