B
bgs
Guest
Bonjour le forum,
J'ai créé un module en Access qui me permet de remplir une feuille Excel via une requête Access.
Tout ce passe bien, les données vont au bon endroit
avec ce code :
MAIS quand la mise en forme ce fait avec ce code :
Dans certaine cellule vide de Excel, il me met un double zéro 00.
Je ne comprends pas du tout pourquoi il fait cela.
Est-ce que cela vous est-il déjà arrivé ?
Pouvez-vous m'en dire plus ?
Merci d'avance pour votre aide.
bgs
J'ai créé un module en Access qui me permet de remplir une feuille Excel via une requête Access.
Tout ce passe bien, les données vont au bon endroit
avec ce code :
Code:
Option Compare Database
Public Function G2ThS1()
Dim ValSQL As String
Dim bds As DAO.Database, rst As DAO.Recordset
Dim appexcel As Excel.Application
Dim wbexcel As Excel.Workbook
Dim ligne As Byte
Set appexcel = CreateObject('Excel.Application')
appexcel.Visible = True
Set wbexcel = appexcel.Workbooks.Open('Z:\\2e 05-06.xls', ReadOnly:=True)
'la programmation de la requête:
ValSQL = 'SELECT * FROM [rqt S1] Order by [Noms1]'
Set bds = CurrentDb
Set rst = bds.OpenRecordset(ValSQL)
rst.MoveFirst
'faut laisser le movefirst pour sélectionner le 1er enregistrement
appexcel.Sheets('entree des données').Select
'Et il ne rest plus qu'a remplir le fichier Excel:
'ligne = à la ligne actuelle (exemple D10 dont 10 est la ligne)
ligne = '11'
'nbre d'étudiants
For n = 1 To 73
appexcel.Cells(ligne, 4).Select
'2e BAC 1ère Session Théorie
appexcel.Cells(ligne, 4) = rst![cours1]
appexcel.Cells(ligne, 2) = rst![Noms1] & ' ' & rst![Prenoms1]
appexcel.Cells(ligne, 3) = rst![numeros1]
appexcel.Cells(ligne, 5) = rst![cours3]
appexcel.Cells(ligne, 6) = rst![cours4]
...
'j'incrémente la variable ligne de 1
ligne = ligne + 1
'je vais à l'enregistrement suivant
rst.MoveNext
Next n
MAIS quand la mise en forme ce fait avec ce code :
Code:
'on sélectionne cellule nommée 'FormatToCopy2'
appexcel.Goto Reference:='FormatToCopy2'
'on copie cette cellule
appexcel.ActiveCell.Copy
'Je sélectionne la plage de cellules à formater (ICI IL FAUT CHANGER LA PLAGE DE FEUILLE EN FEUILLE)
appexcel.Range('D11:R83').Select
'On fait un copie spécial + MULTIPLICATION
appexcel.Range('D11:R83').PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
Dans certaine cellule vide de Excel, il me met un double zéro 00.
Je ne comprends pas du tout pourquoi il fait cela.
Est-ce que cela vous est-il déjà arrivé ?
Pouvez-vous m'en dire plus ?
Merci d'avance pour votre aide.
bgs