Poster une réponse à un sujet: Excel - Erreur : "Impossible d'accéder aux paramètres... "
Attention, ce sujet est un sujet ancien (6719 jours sans réponse)
ovh
Merci de penser aux balises code et quote, ça rend les posts plus lisibles.
fireware
Alors j'ai fait quelques modif.
Le 1er message d'erreur ne s'affiche plus (celui avec l'objet) mais quand je clique sur un bouton, un autre s'affichait. J'ai résolu le problème en voyant qu'il manquez un fichier .dll dans la bibliothèque (outils > référence).
Donc j'ai mis ce fichier .dll mais un autre message d'erreur a remplacé l'ancien :
Sur cette ligne :
De ce paragraphe :
Ok je veux bien, mais là je bloque...
Le 1er message d'erreur ne s'affiche plus (celui avec l'objet) mais quand je clique sur un bouton, un autre s'affichait. J'ai résolu le problème en voyant qu'il manquez un fichier .dll dans la bibliothèque (outils > référence).
Donc j'ai mis ce fichier .dll mais un autre message d'erreur a remplacé l'ancien :
Erreur 424
Objet required
Objet required
Sur cette ligne :
DTPicker1.Day = Day(Date)
De ce paragraphe :
' initialisation de la fenêtre
Private Sub UserForm_Activate()
derlig = Application.WorksheetFunction.Max(Range("a:a"))
cel1 = "a" & derlig + 2
cel2 = "b" & derlig + 2
cel3 = "c" & derlig + 2
cel4 = "d" & derlig + 2
cel5 = "e" & derlig + 2
cel6 = "f" & derlig + 2
cel7 = "g" & derlig + 2
cel8 = "h" & derlig + 2
cel9 = "i" & derlig + 2
colonne1 = "a" & derlig + 3
colonne2 = "b" & derlig + 3
colonne3 = "c" & derlig + 3
colonne4 = "d" & derlig + 3
colonne5 = "e" & derlig + 3
colonne6 = "f" & derlig + 3
colonne7 = "g" & derlig + 3
colonne8 = "h" & derlig + 3
colonne9 = "i" & derlig + 3
If ActiveSheet.Name = "Janvier" Then
mois = "janv"
mois2 = 1
jourmax = "31"
ElseIf ActiveSheet.Name = "Février" Then
mois = "fév"
mois2 = 2
If Year(Date) = "2004" Or Year(Date) = "2008" Or Year(Date) = "2012" Or Year(Date) = "2016" Or Year(Date) = "2020" Or Year(Date) = "2024" Or Year(Date) = "2028" Or Year(Date) = "2032" Or Year(Date) = "2036" Or Year(Date) = "2040" Or Year(Date) = "2044" Or Year(Date) = "2048" Or Year(Date) = "2052" Or Year(Date) = "2056" Or Year(Date) = "2060" Then
jourmax = "29"
Else
jourmax = "28"
End If
ElseIf ActiveSheet.Name = "Mars" Then
mois = "mars"
mois2 = 3
jourmax = "31"
ElseIf ActiveSheet.Name = "Avril" Then
mois = "avril"
mois2 = 4
jourmax = "30"
ElseIf ActiveSheet.Name = "Mai" Then
mois = "mai"
mois2 = 5
jourmax = "31"
ElseIf ActiveSheet.Name = "Juin" Then
mois = "juin"
mois2 = 6
jourmax = "30"
ElseIf ActiveSheet.Name = "Juillet" Then
mois = "juil"
mois2 = 7
jourmax = "31"
ElseIf ActiveSheet.Name = "Août" Then
mois = "août"
mois2 = 8
jourmax = "31"
ElseIf ActiveSheet.Name = "Septembre" Then
mois = "sept"
mois2 = 9
jourmax = "30"
ElseIf ActiveSheet.Name = "Octobre" Then
mois = "oct"
mois2 = 10
jourmax = "31"
ElseIf ActiveSheet.Name = "Novembre" Then
mois = "nov"
mois2 = 11
jourmax = "30"
ElseIf ActiveSheet.Name = "Décembre" Then
mois = "déc"
mois2 = 12
jourmax = "31"
End If
OptionButton1.Value = True
DTPicker1.Day = Day(Date)
DTPicker1.Month = mois2
DTPicker1.Year = Year(Date)
DTPicker1.MinDate = "1/" & mois2 & "/" & Year(Date)
DTPicker1.MaxDate = jourmax & "/" & mois2 & "/" & Year(Date)
DTPicker1.Day = Day(Date)
' modes de transaction
Dim x, y, lignemode, tousmode, ligneobjet, objet
x = 2
lignemode = "b" & x
While Workbooks("Comptes personnels.xls").Worksheets("Mode de transaction comptes").Range(lignemode) <> ""
tousmode = Workbooks("Comptes personnels.xls").Worksheets("Mode de transaction comptes").Range(lignemode)
ComboBox2.AddItem (tousmode)
x = x + 1
lignemode = "b" & x
Wend
' Objets
y = 2
ligneobjet = "b" & y
While Workbooks("Comptes personnels.xls").Worksheets("Objets comptes").Range(ligneobjet) <> ""
objet = Workbooks("Comptes personnels.xls").Worksheets("Objets comptes").Range(ligneobjet)
ComboBox3.AddItem (objet)
y = y + 1
ligneobjet = "b" & y
Wend
End Sub
Private Sub UserForm_Activate()
derlig = Application.WorksheetFunction.Max(Range("a:a"))
cel1 = "a" & derlig + 2
cel2 = "b" & derlig + 2
cel3 = "c" & derlig + 2
cel4 = "d" & derlig + 2
cel5 = "e" & derlig + 2
cel6 = "f" & derlig + 2
cel7 = "g" & derlig + 2
cel8 = "h" & derlig + 2
cel9 = "i" & derlig + 2
colonne1 = "a" & derlig + 3
colonne2 = "b" & derlig + 3
colonne3 = "c" & derlig + 3
colonne4 = "d" & derlig + 3
colonne5 = "e" & derlig + 3
colonne6 = "f" & derlig + 3
colonne7 = "g" & derlig + 3
colonne8 = "h" & derlig + 3
colonne9 = "i" & derlig + 3
If ActiveSheet.Name = "Janvier" Then
mois = "janv"
mois2 = 1
jourmax = "31"
ElseIf ActiveSheet.Name = "Février" Then
mois = "fév"
mois2 = 2
If Year(Date) = "2004" Or Year(Date) = "2008" Or Year(Date) = "2012" Or Year(Date) = "2016" Or Year(Date) = "2020" Or Year(Date) = "2024" Or Year(Date) = "2028" Or Year(Date) = "2032" Or Year(Date) = "2036" Or Year(Date) = "2040" Or Year(Date) = "2044" Or Year(Date) = "2048" Or Year(Date) = "2052" Or Year(Date) = "2056" Or Year(Date) = "2060" Then
jourmax = "29"
Else
jourmax = "28"
End If
ElseIf ActiveSheet.Name = "Mars" Then
mois = "mars"
mois2 = 3
jourmax = "31"
ElseIf ActiveSheet.Name = "Avril" Then
mois = "avril"
mois2 = 4
jourmax = "30"
ElseIf ActiveSheet.Name = "Mai" Then
mois = "mai"
mois2 = 5
jourmax = "31"
ElseIf ActiveSheet.Name = "Juin" Then
mois = "juin"
mois2 = 6
jourmax = "30"
ElseIf ActiveSheet.Name = "Juillet" Then
mois = "juil"
mois2 = 7
jourmax = "31"
ElseIf ActiveSheet.Name = "Août" Then
mois = "août"
mois2 = 8
jourmax = "31"
ElseIf ActiveSheet.Name = "Septembre" Then
mois = "sept"
mois2 = 9
jourmax = "30"
ElseIf ActiveSheet.Name = "Octobre" Then
mois = "oct"
mois2 = 10
jourmax = "31"
ElseIf ActiveSheet.Name = "Novembre" Then
mois = "nov"
mois2 = 11
jourmax = "30"
ElseIf ActiveSheet.Name = "Décembre" Then
mois = "déc"
mois2 = 12
jourmax = "31"
End If
OptionButton1.Value = True
DTPicker1.Day = Day(Date)
DTPicker1.Month = mois2
DTPicker1.Year = Year(Date)
DTPicker1.MinDate = "1/" & mois2 & "/" & Year(Date)
DTPicker1.MaxDate = jourmax & "/" & mois2 & "/" & Year(Date)
DTPicker1.Day = Day(Date)
' modes de transaction
Dim x, y, lignemode, tousmode, ligneobjet, objet
x = 2
lignemode = "b" & x
While Workbooks("Comptes personnels.xls").Worksheets("Mode de transaction comptes").Range(lignemode) <> ""
tousmode = Workbooks("Comptes personnels.xls").Worksheets("Mode de transaction comptes").Range(lignemode)
ComboBox2.AddItem (tousmode)
x = x + 1
lignemode = "b" & x
Wend
' Objets
y = 2
ligneobjet = "b" & y
While Workbooks("Comptes personnels.xls").Worksheets("Objets comptes").Range(ligneobjet) <> ""
objet = Workbooks("Comptes personnels.xls").Worksheets("Objets comptes").Range(ligneobjet)
ComboBox3.AddItem (objet)
y = y + 1
ligneobjet = "b" & y
Wend
End Sub
Ok je veux bien, mais là je bloque...
fireware
Non non, ça marche aussi bien sur son pc que sur le mien, mais là je viens de l'installer sur un autre disque dur presque identique que le mien (où ça marche). Et là ça me met des erreurs. Voici le code :
Private Sub CommandButton1_Click()
Dim repbase, utilisateur, fichbase, annee, mois, nomfichouvert
Dim fr, l, w, e
fichbase = ActiveWorkbook.FullName
Set fr = CreateObject("Scripting.FileSystemObject")
Set l = fr.GetFile(fichbase)
repbase = l.ParentFolder.Path
On Error GoTo fin2
utilisateur = ListBox2.Text
annee = ComboBox1.Value
mois = ListBox1.Text
For Each w In Application.Workbooks
nomfichouvert = w.Name
If nomfichouvert = utilisateur & annee & ".xls" Then
MsgBox "Le fichier que vous voulez ouvrir est déjà ouvert, la commande est abandonnée"
GoTo fin3
End If
Next w
Set fr = CreateObject("Scripting.FileSystemObject")
e = fr.FileExists(repbase & "\annees\" & utilisateur & annee & ".xls")
If e = True Then
Workbooks.Open repbase & "\annees\" & utilisateur & annee & ".xls"
If mois = "" Then
GoTo suite
Else
Worksheets(mois).Activate
End If
suite:
Else
MsgBox "Désolé, fichier introuvable. Peut être que le nom du compte ou du livret vient d'être créé et n'a donc pas d'année archivée!"
GoTo fin
End If
fin3:
Unload UserForm1
Unload UserForm5
GoTo fin
fin2:
ComboBox1.Text = ""
MsgBox "Vous devez entrer une année valide"
fin:
End Sub
Private Sub CommandButton2_Click()
Dim repbase, utilisateur, fichbase, annee
Dim fr, l, e
fichbase = ActiveWorkbook.FullName
Set fr = CreateObject("Scripting.FileSystemObject")
Set l = fr.GetFile(fichbase)
repbase = l.ParentFolder.Path
utilisateur = ListBox2.Text
annee = Year(DateTime.Date)
Set fr = CreateObject("Scripting.FileSystemObject")
e = fr.FileExists(repbase & "\annees\" & utilisateur & annee & ".xls")
If e = True Then
Workbooks.Open repbase & "\annees\" & utilisateur & annee & ".xls"
Unload UserForm1
Unload UserForm5
Else
MsgBox "Désolé, l'année " & Year(DateTime.Date) & " du compte (ou du livret): " & utilisateur & " n'existe pas!"
End If
End Sub
Private Sub ListBox2_Change()
Dim x, y, compte, livret, compteoulivret
x = 2
y = 2
compte = "b" & x
livret = "e" & y
compteoulivret = "?"
While Worksheets("Comptes et livrets").Range(compte) <> ""
If Worksheets("Comptes et livrets").Range(compte) = ListBox2.Value Then compteoulivret = "Compte"
x = x + 1
compte = "b" & x
Wend
While Worksheets("Comptes et livrets").Range(livret) <> ""
If Worksheets("Comptes et livrets").Range(livret) = ListBox2.Value Then compteoulivret = "Livret"
y = y + 1
livret = "e" & y
Wend
If compteoulivret = "Compte" Then
CommandButton1.Caption = "Ouvrir Compte"
ListBox1.Enabled = True
ListBox1.Visible = True
Label2.Visible = True
ElseIf compteoulivret = "Livret" Then
CommandButton1.Caption = "Ouvrir Livret"
ListBox1.Enabled = False
ListBox1.Visible = False
Label2.Visible = False
End If
End Sub
Private Sub UserForm_Activate()
Dim annee
Dim w, x, y, compte, livret, memo
CommandButton2.Caption = "Ouvrir l'année " & Year(DateTime.Date)
annee = Year(DateTime.Date)
For w = 0 To 9
ComboBox1.AddItem (annee + 1 - w)
Next w
ComboBox1.Value = annee
ListBox1.AddItem ("Janvier")
ListBox1.AddItem ("Février")
ListBox1.AddItem ("Mars")
ListBox1.AddItem ("Avril")
ListBox1.AddItem ("Mai")
ListBox1.AddItem ("Juin")
ListBox1.AddItem ("Juillet")
ListBox1.AddItem ("Août")
ListBox1.AddItem ("Septembre")
ListBox1.AddItem ("Octobre")
ListBox1.AddItem ("Novembre")
ListBox1.AddItem ("Décembre")
x = 2
y = 2
memo = ""
compte = "b" & x
livret = "e" & y
While Worksheets("Comptes et livrets").Range(compte) <> ""
If compte = "b2" Then memo = Worksheets("Comptes et livrets").Range(compte)
ListBox2.AddItem Worksheets("Comptes et livrets").Range(compte)
x = x + 1
compte = "b" & x
Wend
While Worksheets("Comptes et livrets").Range(livret) <> ""
If memo = "" And livret = "e2" Then memo = Worksheets("Comptes et livrets").Range(livret)
ListBox2.AddItem Worksheets("Comptes et livrets").Range(livret)
y = y + 1
livret = "e" & y
Wend
If memo <> "" Then ListBox2.Value = memo
End Sub
Voici le texte surligner en jaune :
While Worksheets("Comptes et livrets").Range(livret) <> ""
Et le message d'erreur avant le débogage :
Erreur d'exécution '9' :
L'indice n'appartient pas à la selection.
Private Sub CommandButton1_Click()
Dim repbase, utilisateur, fichbase, annee, mois, nomfichouvert
Dim fr, l, w, e
fichbase = ActiveWorkbook.FullName
Set fr = CreateObject("Scripting.FileSystemObject")
Set l = fr.GetFile(fichbase)
repbase = l.ParentFolder.Path
On Error GoTo fin2
utilisateur = ListBox2.Text
annee = ComboBox1.Value
mois = ListBox1.Text
For Each w In Application.Workbooks
nomfichouvert = w.Name
If nomfichouvert = utilisateur & annee & ".xls" Then
MsgBox "Le fichier que vous voulez ouvrir est déjà ouvert, la commande est abandonnée"
GoTo fin3
End If
Next w
Set fr = CreateObject("Scripting.FileSystemObject")
e = fr.FileExists(repbase & "\annees\" & utilisateur & annee & ".xls")
If e = True Then
Workbooks.Open repbase & "\annees\" & utilisateur & annee & ".xls"
If mois = "" Then
GoTo suite
Else
Worksheets(mois).Activate
End If
suite:
Else
MsgBox "Désolé, fichier introuvable. Peut être que le nom du compte ou du livret vient d'être créé et n'a donc pas d'année archivée!"
GoTo fin
End If
fin3:
Unload UserForm1
Unload UserForm5
GoTo fin
fin2:
ComboBox1.Text = ""
MsgBox "Vous devez entrer une année valide"
fin:
End Sub
Private Sub CommandButton2_Click()
Dim repbase, utilisateur, fichbase, annee
Dim fr, l, e
fichbase = ActiveWorkbook.FullName
Set fr = CreateObject("Scripting.FileSystemObject")
Set l = fr.GetFile(fichbase)
repbase = l.ParentFolder.Path
utilisateur = ListBox2.Text
annee = Year(DateTime.Date)
Set fr = CreateObject("Scripting.FileSystemObject")
e = fr.FileExists(repbase & "\annees\" & utilisateur & annee & ".xls")
If e = True Then
Workbooks.Open repbase & "\annees\" & utilisateur & annee & ".xls"
Unload UserForm1
Unload UserForm5
Else
MsgBox "Désolé, l'année " & Year(DateTime.Date) & " du compte (ou du livret): " & utilisateur & " n'existe pas!"
End If
End Sub
Private Sub ListBox2_Change()
Dim x, y, compte, livret, compteoulivret
x = 2
y = 2
compte = "b" & x
livret = "e" & y
compteoulivret = "?"
While Worksheets("Comptes et livrets").Range(compte) <> ""
If Worksheets("Comptes et livrets").Range(compte) = ListBox2.Value Then compteoulivret = "Compte"
x = x + 1
compte = "b" & x
Wend
While Worksheets("Comptes et livrets").Range(livret) <> ""
If Worksheets("Comptes et livrets").Range(livret) = ListBox2.Value Then compteoulivret = "Livret"
y = y + 1
livret = "e" & y
Wend
If compteoulivret = "Compte" Then
CommandButton1.Caption = "Ouvrir Compte"
ListBox1.Enabled = True
ListBox1.Visible = True
Label2.Visible = True
ElseIf compteoulivret = "Livret" Then
CommandButton1.Caption = "Ouvrir Livret"
ListBox1.Enabled = False
ListBox1.Visible = False
Label2.Visible = False
End If
End Sub
Private Sub UserForm_Activate()
Dim annee
Dim w, x, y, compte, livret, memo
CommandButton2.Caption = "Ouvrir l'année " & Year(DateTime.Date)
annee = Year(DateTime.Date)
For w = 0 To 9
ComboBox1.AddItem (annee + 1 - w)
Next w
ComboBox1.Value = annee
ListBox1.AddItem ("Janvier")
ListBox1.AddItem ("Février")
ListBox1.AddItem ("Mars")
ListBox1.AddItem ("Avril")
ListBox1.AddItem ("Mai")
ListBox1.AddItem ("Juin")
ListBox1.AddItem ("Juillet")
ListBox1.AddItem ("Août")
ListBox1.AddItem ("Septembre")
ListBox1.AddItem ("Octobre")
ListBox1.AddItem ("Novembre")
ListBox1.AddItem ("Décembre")
x = 2
y = 2
memo = ""
compte = "b" & x
livret = "e" & y
While Worksheets("Comptes et livrets").Range(compte) <> ""
If compte = "b2" Then memo = Worksheets("Comptes et livrets").Range(compte)
ListBox2.AddItem Worksheets("Comptes et livrets").Range(compte)
x = x + 1
compte = "b" & x
Wend
While Worksheets("Comptes et livrets").Range(livret) <> ""
If memo = "" And livret = "e2" Then memo = Worksheets("Comptes et livrets").Range(livret)
ListBox2.AddItem Worksheets("Comptes et livrets").Range(livret)
y = y + 1
livret = "e" & y
Wend
If memo <> "" Then ListBox2.Value = memo
End Sub
Voici le texte surligner en jaune :
While Worksheets("Comptes et livrets").Range(livret) <> ""
Et le message d'erreur avant le débogage :
Erreur d'exécution '9' :
L'indice n'appartient pas à la selection.
zion
Je doute réellement que ton premier problème soit lié à ton problème actuel.
Si c'est une macro faite maison par ton ami, je te conseille d'y jeter un oeil et de voir si il n'a pas un path absolu sur lequel lui fait des tests... Genre ton fichier doit être dans tel répertoire absolument sinon c'est foutu.
En tout cas, il faudrait voir ce que contient comme macros ton fameux fichier...
Si c'est une macro faite maison par ton ami, je te conseille d'y jeter un oeil et de voir si il n'a pas un path absolu sur lequel lui fait des tests... Genre ton fichier doit être dans tel répertoire absolument sinon c'est foutu.
En tout cas, il faudrait voir ce que contient comme macros ton fameux fichier...
fireware
Quand j'ai installé MS office 2000 prenium, j'ai eu ce message d'erreur à la fin de son installation :
"Impossible d'accéder aux paramètres de configuration du Serveur Web personnel Microsoft."
Puis l'installation se termine.
Tout fonctionne, sauf quand j'utilise un fichier excel d'un ami me permettant de gérer mon compte bancaire. Ce fichier utilise des macro et Virtual Basic. Quand je l'ouvre j'ai ce message :
"Impossible de charger le objet car il n'est pas disponible sur cette machine."
Puis j'ai un autre message en apyuant sur diverses boutons :
"Erreur de compilation dans le module caché : UserForm1"
Cela vient forcément de mon PC puisque le programe marche impec sur un autre PC qui a lui aussi Windows XP familiale.
Donc si quelqu'un a la solution merci.
"Impossible d'accéder aux paramètres de configuration du Serveur Web personnel Microsoft."
Puis l'installation se termine.
Tout fonctionne, sauf quand j'utilise un fichier excel d'un ami me permettant de gérer mon compte bancaire. Ce fichier utilise des macro et Virtual Basic. Quand je l'ouvre j'ai ce message :
"Impossible de charger le objet car il n'est pas disponible sur cette machine."
Puis j'ai un autre message en apyuant sur diverses boutons :
"Erreur de compilation dans le module caché : UserForm1"
Cela vient forcément de mon PC puisque le programe marche impec sur un autre PC qui a lui aussi Windows XP familiale.
Donc si quelqu'un a la solution merci.