conserver le format de cellule apres querytable

C

cedico

Guest
Bonjour,

J'essaie de raffraichir le contenu d'une cellule à partir d'une requête QueryTable en VBA et ça fonctionne bien sauf que j'ai un problème de format pour la cellule de destination.
Si le résultat de ma requête retourne plus d'une ligne, le format de la 1ère ligne n'est pas conservé (je perds les bords et la couleur) alors que le format des autres lignes est bien conservé.
quelqu'un peut-il me dire ce qu'il manque à mon code ?

Voci le code :
Code:
    sCellule = ActiveWorkbook.Sheets('TEST').Range('C1')
    sConn = 'ODBC;DRIVER=... '
    sSQL = 'select ... '

    With ActiveWorkbook.Sheets(sFeuille).QueryTables.Add( _
        Connection:=sConn, _
        Destination:=Range(sCellule), _
        Sql:=sSql)
        .FieldNames = False
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
   End With

Pour sauvegarder le format de la cellule destination, j'ai essayé de placer le code suivant avant l'exécution de la requête :

Code:
    Range(sCellule).Select
     Selection.Copy

et celui-ci après l'exécution de la requête :

Code:
   Range(sCellule).Select
   Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
   False, Transpose:=False

Mais le problème est toujours présent, je perds mon format... quelqu'un peut-il me dépanner svp ?


Cédric
 

Discussions similaires

Réponses
5
Affichages
211

Statistiques des forums

Discussions
312 754
Messages
2 091 692
Membres
105 050
dernier inscrit
Jcbrazil