Nom ambigui détecté
Bonjour,
Je rencontre des erreurs dans mes macros.
Pense qu'il y a plusieurs fois le mot "chemin" dans différent code, c'est peut être pour ça que sa bloque, je me trompe?
Private Sub CDevis_Click()
chemin= "C:\Akisti Bat\Devis\"
ListeFacturesDevis.Caption = "Devis"
ListeFacturesDevis.Titre = "Liste des devis"
ListeFacturesDevis.Show
Me.Hide
End Sub
Private Sub CFactures_Click()
chemin= "C:\Akisti Bat\Facture\"
ListeFacturesDevis.Caption = "Factures"
ListeFacturesDevis.Titre = "Liste des factures"
ListeFacturesDevis.Show
Me.Hide
End SubPrivate Sub TMiseAJour_Click()
Dim Ctrl As Control
Dim Ligne As Long
If Me.ComboBox1.ListIndex = -1 Then
MsgBox "Veuillez sélectionner un nom à modifier !", vbInformation, "Attention"
Exit Sub
End If
If Trim(Me.TNom) = "" Then
Me.TNom.BackColor = vbRed
MsgBox "Veuilez renseigner au moins le nom de la société !", vbInformation, "Attention"
Exit Sub
End If
Application.ScreenUpdating = False
With Sheets("Clients")
Ligne = Me.ComboBox1.ListIndex + 4
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TextBox" Then
If Val(Ctrl.Tag) > 0 Then
.Cells(Ligne, Val(Ctrl.Tag)) = Ctrl
If Val(Ctrl.Tag) = 3 Then
.Cells(Ligne, Val(Ctrl.Tag)) = Ctrl & " " & CVille
Else
.Cells(Ligne, Val(Ctrl.Tag)) = Ctrl
End If
End If
End If
Next
Trier
.Visible = xlSheetVisible
.Copy
.Visible = xlSheetVeryHidden
End With
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:=chemin& Fichier, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
.Close
End With
MsgBox "La modification a bien été faite !", vbInformation, "Confirmation"
Me.Hide
End SubPrivate Sub TSuppressionClient_Click()
Dim DerLigne As Long
If Me.ComboBox1.ListIndex = -1 Then
MsgBox "Veuillez sélectionner un nom à supprimer !", vbInformation, "Attention"
Exit Sub
End If
If MsgBox("Voulez-vous supprimer ce client : " & Me.ComboBox1 & " ?", vbQuestion + vbYesNo + vbDefaultButton2, _
"Opération irréversible") <> vbYes Then Exit Sub
Application.ScreenUpdating = False
With Sheets("Clients")
.Rows(Me.ComboBox1.ListIndex + 4).ClearContents
DerLigne = .Range("A" & Rows.Count).End(xlUp).Row
Trier
.Visible = xlSheetVisible
.Copy
.Visible = xlSheetVeryHidden
End With
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:=chemin& Fichier, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
.Close
End With
MsgBox "Le client sélectionné à bien été supprimée !", vbInformation, "Confirmation"
Me.Hide
End SubPrivate Sub BAjouter_Click()
Dim Ctrl As Control
Dim DerLigne As Long
If Trim(Me.TNom) = "" Then
Me.TNom.BackColor = vbRed
MsgBox "Veuilez renseigner au moins le nom de la société", vbInformation, "Attention"
Exit Sub
End If
Application.ScreenUpdating = False
With Sheets("Clients")
DerLigne = .Range("A" & Rows.Count).End(xlUp).Row + 1
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TextBox" Then
If Val(Ctrl.Tag) > 0 Then
If Val(Ctrl.Tag) = 3 Then
.Cells(DerLigne, Val(Ctrl.Tag)) = Ctrl & " " & CVille
Else
.Cells(DerLigne, Val(Ctrl.Tag)) = Ctrl
End If
End If
End If
Next
Trier
.Visible = xlSheetVisible
.Copy
.Visible = xlSheetVeryHidden
End With
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:=chemin& Fichier, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
.Close
End With
Me.TNom.BackColor = vbWhite
Me.Hide
End SubPrivate Sub Liste_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Workbooks.Open (chemin & Liste.Text)
Me.Hide
End Sub
Private Sub UserForm_Initialize()
On Error Resume Next
new_chemin (chemin)
End Sub
Function new_chemin(Chemin_a_ouvrir As String) As String
Fichier = Dir(Chemin_a_ouvrir & "\*.*")
Do While Len(Fichier) > 0
Liste.AddItem Fichier
Fichier = Dir()
Loop
End FunctionMerci et à bientôt
Bonjour
Deux déclarations en Public de la variable Chemin dans le module 2 (il faut supprimer la seconde)
Une déclaration en Public de la variable Chemin dans le module 4
Il faut choisir entre la déclaration dans le module 2 ou celle dans le module 4
Aussi une autre erreur : Tu déclares en constante le variable Fichier (Module 4) et ensuite tu essayes de lui affecter une autre valeur dans le module de l'userform "ListeFacturesDevis" Fichier = Dir(Chemin_a_ouvrir & "\*.*")
Utilises une variable locale
Function new_chemin(Chemin_a_ouvrir As String) As String
Dim LeFichier
LeFichier = Dir(Chemin_a_ouvrir & "\*.*")
Do While Len(LeFichier) > 0
Liste.AddItem LeFichier
LeFichier = Dir()
Loop
End FunctionSalut Banzai64
Donc si je supprime un des code, je vais perdre certains option (ajout des nouveaux client ou consulter des facture ou devis)
C'est bien sa?
A+
Bonjour
?????????
Qu'entends tu par
Ronibo a écrit :si je supprime un des code
Au fait as-tu essayé ?
Re,
En fait, je sais pas qu'est ce que je dois faire, j'ai jamais eu ce problème auparavant
A+
Bonjour
Ronibo a écrit :En fait, je sais pas qu'est ce que je dois faire,
Je l'ai marqué dans mon message
Banzai64 a écrit :Deux déclarations en Public de la variable Chemin dans le module 2 (il faut supprimer la seconde)
Banzai64 a écrit :Il faut choisir entre la déclaration dans le module 2 ou celle dans le module 4
Remplaces la fonction existante par celle-ci
Banzai64 a écrit :Function new_chemin(Chemin_a_ouvrir As String) As String
Dim LeFichier
LeFichier = Dir(Chemin_a_ouvrir & "\*.*")
Do While Len(LeFichier) > 0
Liste.AddItem LeFichier
LeFichier = Dir()
Loop
End Function
Private Sub CDevis_Click()
chemin = "C:\Akisti Bat\Devis\"
ListeFacturesDevis.Caption = "Devis"
ListeFacturesDevis.Titre = "Liste des devis"
ListeFacturesDevis.Show
Me.Hide
End Sub
Private Sub CFactures_Click()
chemin = "C:\Akisti Bat\Facture\"
ListeFacturesDevis.Caption = "Factures"
ListeFacturesDevis.Titre = "Liste des factures"
ListeFacturesDevis.Show
Me.Hide
End Submaintenant je bloque ici,
sur chemin
Re,
Merci Banzai64
Mais qu'est tu as fait exactement?
a+
Re,
Je viens de rencontrer un petit souci,
Lorsque j'ajoute un nouveau client, l'usf garde en mémoire les données du client que j'ai ajouté, c'est bizarre sa faisait pas ça avant
Tant qu'on y est j'aimerais rajouter un petit truck concernant le nom des sociétés, m'afficher un msgbox (Ce client existe déjà voulais vous l'écraser ?) lorsque j'ai un client qui existe au même nom., si je clic sur oui, l'écraser sinon annuler.
A+
Bonjour
Ronibo a écrit :Mais qu'est tu as fait exactement?
Là je crois que tu te fous de moi (2 messages que je te dis ce qu'il faut faire te tu oses demander ce que j'ai fait)
Ronibo a écrit :c'est bizarre sa faisait pas ça avant
Reprends ta version d'avant
Re,
Désolé Banzai64,
J'ai essayé s'que tu m'as dis mais j'ai pas réussi
Mais bon l'essentiel c'est que c'est réglé
C'est bon j'ai repris mon ancien code, tout est rentré dans l'ordre
Pour les doublons tu as une solution?