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 753
Messages
2 091 674
Membres
105 043
dernier inscrit
Gum110