[Catégorie modifiée VB6 --> VBA] Remplir une feuil Excel a partir d'une BD [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
21 août 2010
-
Messages postés
7
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
21 août 2010
-
Bonjour !
je suis entrain de faire une ptite application , et j'ai une bouton qui permet d'afficher un classeur excel ... la feuil(excel) sera rempli a partir de la base de donnée . qu'on je clique sur la bouton la premiére fois aprés l'execution du projet ... la feuil exel se remli normalement ... jusqu'ici tt va bien ! mais le blém c lorsque je ferme le classeur et je clique une deuxiéme fois sur la bouton ... je recois cette erreur :
___________________________________________________
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué
___________________________________________________

é voici mon code :

Dim xl As Excel.Application
Dim mafeuil As Excel.Worksheet
Set xl = CreateObject("excel.application")
'********Ouvrir le classeur excel **********'
xl.Workbooks.Open App.Path & "\Imprimer.xls"
'********Déclarer vers la feuil sur laquel on va travailler ******'
Set mafeuil = xl.Worksheets("Feuil1")
Range("C10").Value = Rsimp.Fields(0)
Range("C11").Value = Rsimp.Fields(1)
Range("C12").Value = Rsimp.Fields(2)
Range("C13").Value = Rsimp.Fields(3)
Range("C14").Value = Rsimp.Fields(4)
Range("C15").Value = Rsimp.Fields(5)
Range("C16").Value = Rsimp.Fields(6)

xl.Visible = True

Svp Aidez moi ... Vraiment je suis bloqué
Merci d'avance

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
Oui, il suffit de lire le message d'erreur pour le comprendre :
"La méthode 'Range'"
Actuellement, dans ton code, les Range ne sont associées à aucune feuille.
Tu déclares bien mafeuil, mais tu ne t'en sers pas !
--> mafeuil.Range("C10").Value = Rsimp.Fields(0)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Tiens, juste pour le fun : méthode d'insertion :
    Set mafeuil = xl.Worksheets("Feuil1")
    With mafeuil
        For r = 0 To (rsimp.Fields.Count - 1)
            .Range("C10").Offset(r, 0).Value = Rsimp.Fields(r)
        Next r
    End With

Voir aussi la fonction Excel toute faite :
    Set mafeuil = xl.Worksheets("Feuil1")
    mafeuil.Range("C10").CopyFromRecordSet Rsimp
Messages postés
7
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
21 août 2010

Merci jack !! enfin le blém est resolu grace a toi !!
Mercii infiniment