[VBA] La mise en forme met un double Zéro

  • Initiateur de la discussion bgs
  • Date de début
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 :

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
 

Discussions similaires