Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/11/2011, 17h39   #1
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Par défaut Erreur 424

Bonsoir à tout le monde...

ça fait bientôt une semaine que je rame sur mon petit programme...
il se compose de 4 fichiers :

1= MENU.xlsm
2= BDC.xlsm ' base de donnée
3= CREA.xlsm ' Ajout client dans base de donnée
4= RECH.xlsm ' Recherche client dans base de donnée

Lorsque je démarre mon fichier MENU, il lance bien les 3 autres fichiers dans l'ordre précité...

Mon problème :

Lorsque je clique sur le bouton "Création" il m'ouvre bien mon USF du fichier 3 "CREA" ensuite je rempli tous les choix et lorsque je valide je reçois une "Erreur d'execution 424 objet requis"



je demande votre aide pas pour résoudre mes erreur mais juste pour me guider...car je ne les vois pas...bien possible que je ne procède pas comme il faut dans les règles mais bon je m'y perd...



D’avance je vous remercie pour votre aide.

tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 17h48   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 905
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 905
Points : 7 199
Points : 7 199
Bonjour,

Sans la partie de code qui plante, moi aussi je ne vois rien
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 17h48   #3
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonjour....

Pour pouvoir te guider il va falloir que tu fasse l'effort de poster ton code et en particulier la ligne sur laquelle survient ton erreur..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 19h45   #4
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
voici donc mon programme...

mon programme est le MENU.xlsm
mon second est BDC.xlsm ' ma base de donnée client
mon troisième est CREA.xlsm ' mon USF pour créer un nouveau client
mon dernier est RECH.xlsm ' mon USF pour rechercher un client ou modifier sa fiche

1= MENU.xlsm
2= BDC.xlsm ' base de donnée
3= CREA.xlsm ' Ajout client dans base de donnée
4= RECH.xlsm ' Recherche client dans base de donnée

Lorsque je démarre mon fichier MENU, il lance bien les 3 autres fichiers dans l'ordre précité...

Mon problème :

Lorsque je clique sur le bouton "Création" il m'ouvre bien mon USF du fichier 3 "CREA" ensuite je rempli tous les choix et lorsque je valide je reçois une "Erreur d'execution 424 objet requis"

alors voici mes codes:

usf du fichier MENU
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub creation_Click()
    Run Wbk2.Name & "!OuvreUSF"  '---  lancement CREA
End Sub
 
Private Sub recherche_Click()
    Run Wbk3.Name & "!OuvreUSF"  '---  lancement RECH
End Sub
 
Private Sub Quittez_Click()
    End
End Sub
 
Private Sub UserForm_Initialize()
    Label15.Caption = Date
End Sub
module1 du fichier MENU
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Option Explicit
 
Public Wbk1 As Workbook
Public Wbk2 As Workbook
Public Wbk3 As Workbook
 
Public Const Rep = "C:\test"
Public Const FichierBDC = "BDC.xlsm"
Public Const FichierCREA = "CREA.xlsm"
Public Const FichierRECH = "RECH.xlsm"
 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Wbk1.Close True
    Wbk2.Close True
    Wbk3.Close True
    Set Wbk1 = Nothing
    Set Wbk2 = Nothing
    Set Wbk3 = Nothing
End Sub
module1 du fichier BDC
Code :
1
2
3
Sub OuvreUSF()
    UserForm1.Show
End Sub

usf du fichier CREA ' usf pour la creation d un nouveau client
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Private Sub valider_Click()
 
Dim iDer As Long
'--- Code permet d'ajouter +1 à chaque nouvel enregistrement par mercatog ExpertConfirmé www.developpez.net...merci à toi mercatog…ça fonctionne parfaitement
With Wbk1.Worksheets("BDC")
    iDer = .Cells(.Rows.Count, "A").End(xlUp).Row
    If .Range("B" & iDer) <> "" Then .Range("A" & iDer + 1) = Application.Max(.Range("A:A")) + 1
End With
'--- Positionnement dans la base
   Ligne = Wbk1.Worksheets("BDC").[B65000].End(xlUp).Row + 1
 
'--- Transfert Formulaire dans Feuil1
    Wbk1.Worksheets("BDC").Cells(Ligne, 2) = Application.Proper(Me!Nom)
    Wbk1.Worksheets("BDC").Cells(Ligne, 3) = Application.Proper(Me!Prenom)
    Wbk1.Worksheets("BDC").Cells(Ligne, 4) = Application.Proper(Me!Adresse)
    Wbk1.Worksheets("BDC").Cells(Ligne, 5) = CDbl(Me.Cp)
    Wbk1.Worksheets("BDC").Cells(Ligne, 6) = Application.Proper(Me!Ville)
    Wbk1.Worksheets("BDC").Cells(Ligne, 7) = Application.Proper(Me!Pays)
    Wbk1.Worksheets("BDC").Cells(Ligne, 8) = Application.Proper(Me!TelFixe)
    Wbk1.Worksheets("BDC").Cells(Ligne, 9) = Application.Proper(Me!TelGsm)
    Wbk1.Worksheets("BDC").Cells(Ligne, 10) = Application.Proper(Me!TelFax)
    Wbk1.Worksheets("BDC").Cells(Ligne, 11) = Application.Proper(Me!Email)
    If Me.Tva = "" Then
        Wbk1.Worksheets("BDC").Cells(Ligne, 12) = Application.Proper(Me!Tva)
    End If
 
        Wbk1.Worksheets("BDC").Cells(Ligne, 13) = Application.Proper(Me!AdresseCh)
        Wbk1.Worksheets("BDC").Cells(Ligne, 14) = Application.Proper(Me!CpCh)
        Wbk1.Worksheets("BDC").Cells(Ligne, 15) = Application.Proper(Me!VilleCh)
        Wbk1.Worksheets("BDC").Cells(Ligne, 16) = Application.Proper(Me!PaysCh)
        Wbk1.Worksheets("BDC").Cells(Ligne, 19) = (Date)
 
'--- Selection de la civilité
   temp = ""
   For Each c In Me.Civilité.Controls
     If c.Value = True Then
       temp = c.Caption
     End If
   Next c
   Wbk1.Worksheets("BDC").Cells(Ligne, 17) = temp
       nettoie
 
End Sub
 
Private Sub Retour_Click()
     Unload UserForm1
End Sub
usf MENU_Rech_1 du fichier RECH ' permet de rechercher ou modifier un client de la BDC
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Private Sub Impression_Click()
Me.Hide
Wbk1.Worksheets("BDC").PrintOut
Me.Show
 
End Sub
 
Private Sub Previsu_Click()
Me.Hide
Wbk1.Worksheets("BDC").PrintPreview
Me.Show
 
End Sub
 
Private Sub UserForm_Initialize()
IniListview
 
End Sub
 
Sub IniListview()
Dim i As Long
Wbk1.Worksheets("BDC").AutoFilterMode = False
With ListView1
    .ListItems.Clear
    With .ColumnHeaders
       .Clear
       .Add , , "Rec", 25   '1
       .Add , , "Nom", 100  '2
       .Add , , "Prénom", 100   '3
       .Add , , "Adresse", 140  '4
       .Add , , "CP", 30    '5
       .Add , , "Ville", 150 '6
       .Add , , "Pays", 60  '7
       .Add , , "Tel.Fixe", 60  '8
       .Add , , "Tel.Gsm", 60  '9
       .Add , , "Tel.Fax", 60  '10
       .Add , , "E-Mail", 140  '11
       .Add , , "Tva", 60  '12
       .Add , , "AdresseChantier", 140  '13
       .Add , , "CPChantier", 30  '14
       .Add , , "VilleChantier", 150  '15
       .Add , , "PaysChantier", 60  '16
       .Add , , "Civilité", 60  '17
       .Add , , "N°Client", 80  '18
       .Add , , "Date Facture", 80  '19
       .Add , , "Enregistrement", 180  '20
       .Add , , , 0
    End With
 .View = lvwReport
 .FullRowSelect = True
 .Gridlines = True
        For i = 2 To Wbk1.Worksheets("BDC").Range("A65536").End(xlUp).Row
           .ListItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 1)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 2)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 3)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 4)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 5)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 6)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 7)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 8)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 9)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 10)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 11)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 12)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 13)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 14)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 15)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 16)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 17)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 18)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 19)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Wbk1.Worksheets("BDC").Cells(i, 20)
           .ListItems(.ListItems.Count).ListSubItems.Add , , i
        Next
    ListView1.ListItems(1).Selected = False
    Set ListView1.SelectedItem = Nothing
End With
 
End Sub
 
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
ListView1.Sorted = False
ListView1.SortKey = ColumnHeader.Index - 1
    If ListView1.SortOrder = lvwAscending Then
        ListView1.SortOrder = lvwDescending
    Else
        ListView1.SortOrder = lvwAscending
    End If
ListView1.Sorted = True
 
End Sub
 
Private Sub QuitterRecherche_Click()
Wbk1.Worksheets("BDC").AutoFilterMode = False
Unload Me
 
End Sub
 
Private Sub Selectionner_Click()
Flag = False
MENU_Rech_2.Show
If Flag = False Then Exit Sub
ListView1.ListItems.Clear
With Wbk1.Worksheets("BDC")
    .AutoFilterMode = False
    .Range("A1").AutoFilter Field:=Col, Criteria1:=Sel
    For Each Cel In .Range("A2:A" & .Range("A65536").End(xlUp).Row).SpecialCells(xlVisible)
        With ListView1
            .ListItems.Add , , Cel
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 1)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 2)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 3)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 4)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 5)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 6)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 7)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 8)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 9)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 10)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 11)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 12)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 13)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 14)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 15)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 16)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 17)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 18)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 19)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Offset(0, 20)
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cel.Row
        End With
    Next
End With
 
End Sub
 
Private Sub Initialiser_Click()
    IniListview
End Sub
 
Private Sub Modifier_Click()
Dim Ligne As ListItem
On Error Resume Next
Set Ligne = ListView1.SelectedItem
On Error GoTo 0
If Ligne Is Nothing Then
    MsgBox "Aucune ligne n'est sélectionnée."
    Exit Sub
End If
MENU_Rech_4.Show
If FlagMdP = True Then
    With MENU_Rech_3
        .TextBox1 = ListView1.ListItems(ListView1.SelectedItem.Index).Text
            For i = 1 To ListView1.ColumnHeaders.Count - 2
                .Controls("TextBox" & i + 1) = ListView1.ListItems(ListView1.SelectedItem.Index).ListSubItems(i).Text
            Next
        .LblLigne = ListView1.ListItems(ListView1.SelectedItem.Index).ListSubItems(20).Text
        .Show
    End With
End If
 
End Sub
usf MENU_Rech_2 du fichier RECH ' permet de faire le choix sur colonne par combobox et choisir la valeur
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub ComboBox1_Change()
    Dim d As Object, c As Variant
    ComboBox2.Clear
    If ComboBox1.ListIndex = -1 Then Exit Sub
    Col = ComboBox1.ListIndex + 1
    Set d = CreateObject("Scripting.Dictionary")
 
With Wbk1.Worksheets("BDC")
    For Each c In .Range(.Cells(2, Col), .Cells(65000, Col).End(xlUp))
    If Not d.Exists(c.Value) Then d.Add c.Value, c.Value
    Next c
    ComboBox2.List = d.items
End With
 
End Sub
 
Private Sub FermerSelection_Click()
    Unload Me
End Sub
 
Private Sub UserForm_Initialize()
    temp = Wbk1.Worksheets("BDC").Range("A1:T1")
    ComboBox1.List = Application.Transpose(temp)
End Sub
 
Private Sub ValiderSelection_Click()
    If ComboBox2.ListIndex = -1 Then Exit Sub
    Sel = ComboBox2.Value
    Flag = True
    Unload Me
End Sub
 
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode <> 1 Then Cancel = 1
End Sub
usf MENU_Rech_3 du fichier RECH ' Affiche par des textbox les infos du client choisi
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Dim DL As Long
 
Private Sub FermerModification_Click()
    Wbk1.Worksheets("Modifications").Rows(DL).Delete
    Unload Me
End Sub
 
Private Sub UserForm_Activate()
With Wbk1.Worksheets("Modifications")
DL = .Range("A65000").End(xlUp).Row + 1
    .Cells(DL, 1) = Date
    For i = 1 To 20
        .Cells(DL, i + 1) = Controls("TextBox" & i)
    Next
End With
End Sub
 
Private Sub ValiderModification_Click()
Dim L As Long
 
With Wbk1.Worksheets("BDC")
L = CLng(LblLigne)
    For i = 1 To 20
        .Cells(L, i) = Controls("TextBox" & i)
    Next
End With
 
With Wbk1.Worksheets("Modifications")
    For i = 1 To 20
        .Cells(DL, i + 22) = Controls("TextBox" & i)
    Next
End With
    MENU_Rech_1.IniListview
    Unload Me
End Sub

module1 du fichier RECH
Code :
1
2
3
4
5
Public Sel As Variant, Col As Integer, Flag As Boolean, FlagMdP As Boolean 'variables à ne surtout pas supprimer !!
 
Sub OuvreUSF()
MENU_Rech_1.Show
End Sub
voilà je pense que ce n'est pas ainsi que je devais présenter mes codes mais je n'ai pas l'habitude alors merci pour tout vos remarques j'essayerai au fur et à mesure d'en tenir compte.

et pour l'essentiel merci pour votre aide si vous le pouvez...je vous dire à me comprendre.

Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 20h00   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Le code du bouton valider aurait suffit ...

tu n'as pas dit sur qu'elle ligne tu avais l'erreur je suppose que c'est la :

Code :
1
2
With Wbk1.Worksheets("BDC")
    iDer = .Cells(.Rows.Count, "A").End(xlUp).Row
je ne vois pas le code ou tu affecte ta variable wbk1 à ton classeur. ....


par exemple s'il s'agit du classeur contenant ta macro
où à l'ouverture d'un autre classeur
Code :
Set Wbk1= Worbooks.open("c:\MonRep\MonclasserWbk1.xls")
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 20h14   #6
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
merci à toi...

effectivement voici pôur l'affectation wbk dans ThisWorkbook de MENU.xlsm:
Code :
1
2
3
4
5
6
7
8
9
Private Sub Workbook_Open()
    'lance excel et place en minimisé
    'Application.WindowState = xlMinimized
    'MENU_password.Show 0
    'MENU.Show 0
    Set Wbk1 = Workbooks.Open(Rep & "\" & FichierBDC)
    Set Wbk2 = Workbooks.Open(Rep & "\" & FichierCREA)
    Set Wbk3 = Workbooks.Open(Rep & "\" & FichierRECH)
End Sub
lorsque je clique sur commandbutton "valider" de mon usf1 de ma feuille "CREA.xlsm j'ai une erreur 424 dans le usf1 sur
Code :
1
2
3
4
5
6
7
8
Private Sub valider_Click()
 
Dim iDer As Long
'--- Code permet d'ajouter +1 à chaque nouvel enregistrement par mercatog ExpertConfirmé www.developpez.net
With Wbk1.Worksheets("BDC")  ' sur cette ligne en jaune
    iDer = .Cells(.Rows.Count, "A").End(xlUp).Row
    If .Range("B" & iDer) <> "" Then .Range("A" & iDer + 1) = Application.Max(.Range("A:A")) + 1
End With
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 20h22   #7
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Au cas ou tu aurais fait une "erreur de portée " sur tes variables vérifie que toutes tes feuilles de code commence par la ligne :

voir : Option Explicit

A quoi sert "Option Explicit"


[Edit] en te relisant je m'aperçoit que l'utilisation de Option Explicit vas bien mettre en évidence tes problèmes.... une question : Pourquoi tu ne met pas tout ton code (et usf) dans le même classeur macro, vouloir séparer le code et les données c'est très bien ... mais mettre ton code dans différent classeurs vas tout compliquer ...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 20h24   #8
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu

bonjour
je n'en suis pas sur mais peut etre que pour que ca marche
il faudrait que Wbk1 aie le focus non!!!??
Code :
1
2
3
4
5
6
7
8
9
 
Private Sub valider_Click()
 
Dim iDer As Long
'--- Code permet d'ajouter +1 à chaque nouvel enregistrement par mercatog ExpertConfirmé www.developpez.net
With Wbk1.Worksheets("BDC")  ' sur cette ligne en jaune
    iDer = .Cells(.Rows.Count, "A").End(xlUp).Row
    If .Range("B" & iDer) <> "" Then .Range("A" & iDer + 1) = Application.Max(.Range("A:A")) + 1
End With
au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 20h25   #9
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par patricktoulon Voir le message
bonjour
je n'en suis pas sur mais peut etre que pour que ca marche
il faudrait que Wbk1 aie le focus non!!!??



au plaisir
non on fait pas un diaporama ... pas besoin d'activer une feuille pour agir/consulter sur son contenu..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 20h28   #10
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
merci bbil je n'ai plus erreur 424 mais une erreur de compilation variable non définie sur
Code :
1
2
3
4
5
6
7
8
Private Sub valider_Click()
 
Dim iDer As Long
'--- Code permet d'ajouter +1 à chaque nouvel enregistrement par mercatog ExpertConfirmé www.developpez.net
With Wbk1.Worksheets("BDC") 'ici l'erreur sur Wbk1
    iDer = .Cells(.Rows.Count, "A").End(xlUp).Row
    If .Range("B" & iDer) <> "" Then .Range("A" & iDer + 1) = Application.Max(.Range("A:A")) + 1
End With
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 20h31   #11
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
J'avais édité mon précédent message
Citation:
Envoyé par bbil Voir le message
[Edit] en te relisant je m'aperçoit que l'utilisation de Option Explicit vas bien mettre en évidence tes problèmes.... une question : Pourquoi tu ne met pas tout ton code (et usf) dans le même classeur macro, vouloir séparer le code et les données c'est très bien ... mais mettre ton code dans différent classeurs vas tout compliquer ...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 20h37   #12
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
pour revenir bbil à ta demande #7 et bien j'ai changé car lorsque j'avais tout compiler je m'en sortais pas plus...bcp d'erreur alors que indépendement chaque fichier fonctionne...néanmoins le fichier BDC.xlsm je le voulais séparé pour pouvoir faire un backup quotidien de ce fichier reprenant les clients...

au fur et à mesure que j'avance je me rends compte que je complique fortement mes modifications...j'attrape sucessivement des erreurs qui me font perdre le fil de mes idées et me prennent la tête...

pense tu que je dois remettre le tout compilé en un fichier sauf ma BDC ???

et ensuite si j'ai des erreurs je reprends contact ?
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 20h40   #13
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par timtof2011 Voir le message
pour revenir bbil à ta demande #7 et bien j'ai changé car lorsque j'avais tout compiler je m'en sortais pas plus...bcp d'erreur alors que indépendement chaque fichier fonctionne...néanmoins le fichier BDC.xlsm je le voulais séparé pour pouvoir faire un backup quotidien de ce fichier reprenant les clients...

au fur et à mesure que j'avance je me rends compte que je complique fortement mes modifications...j'attrape sucessivement des erreurs qui me font perdre le fil de mes idées et me prennent la tête...

pense tu que je dois remettre le tout compilé en un fichier sauf ma BDC ???

et ensuite si j'ai des erreurs je reprends contact ?
Oui .... en conservant la séparation des données et du code. ..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 20h44   #14
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
ok merci je remets tout en place et en fonction reprendrai contact...merci aux participants...bonne soirée
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 20h49   #15
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
ok Clique sur en bas du message tes questions seront surement différentes ensuite
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h14.


 
 
 
 
Partenaires

Hébergement Web