Attention, ce sujet est un sujet ancien (6723 jours sans réponse)
Gras [b]Texte[/b] Italique [i]Italique[/i] Souligné [u]Souligné[/u] Barré [strike]Barré[/strike]
Courriel [email=nobody@nobody.org]Nom[/email] Lien [url=http://www.website.com]Texte[/url] Ancre [anchor]Nom[/anchor] Image [img]http://www.website.com/image.jpg[/img] Insérer une image en provenance du site
Aligné à gauche [align=left]Texte[/align] Centré [align=center]Texte[/align] Aligné à droite [align=right]Texte[/align] Toute la largeur [align=justify]Texte[/text]
Couleur [color=#000000]Text[/color] Mise en forme [highlight=pascal]Texte[/highlight] Widgets Emoticons :code: [:code] Convertisseur HTML vers BBCode Convertisseur Word vers BBCode
Prévisualisation Vérification de l'orthographe

Copier Coller Couper Tout sélectionner
Tout effacer Insérer la date Insérer l'heure Insérer la date et heure Insérer votre IP
Liste [list=square][item]BlaBla[/item][/list] Liste Numérotée [list=decimal][item]BlaBla[/item][/list]
Citation [quote=name]Texte[/quote] Spoiler [spoiler]James est le meurtrier![/spoiler]
Tout en majuscules [uppercase]Texte[/uppercase] Tout en minuscules [lowercase]Texte[/lowercase] l33t [l33t]Je suis un nerd[/l33t] Texte en indice [sub]Texte[/sub] Texte en exposant [sup]Texte[/sup] Taille du texte [size=8]Texte[/size]
 
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 :

Erreur 424

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



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.
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...
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.
Catégorie:  






Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?