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 Sub
Private 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 Sub
Private 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 Sub
Private 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 Sub
Private 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 Function

Merci 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 Function

Salut 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 Sub

maintenant je bloque ici,

sur chemin

Bonjour

A tester

Correction.zip

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?

Rechercher des sujets similaires à "nom ambigui detecte"