VBA Access Probleme d'éxecution Automation

  • Auteur de la discussion darkspoilt
  • Date de début

darkspoilt

Expert
Bonjour,
j'ai un souci toujours avec de l'automation je dois donner a mes cellules des oculeures de fond régler les bordure et la fusionner. mon code compile s'éxécute sans erreur mais rien ne se passe.
Si quelqu'un peut m'aider je le remercie davance.

[cpp]With xls.ActiveSheet.Range("B1:B2")
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
xls.ActiveSheet.Range("B1:B2").Borders(xlDiagonalDown).LineStyle = xlNone
xls.ActiveSheet.Range("B1:B2").Borders(xlDiagonalUp).LineStyle = xlNone
With xls.ActiveSheet.Range("B1:B2").Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 1
End With
With xls.ActiveSheet.Range("B1:B2").Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 1
End With
With xls.ActiveSheet.Range("B1:B2").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 1
End With
xls.ActiveSheet.Range("B1:B2").Borders(xlEdgeRight).LineStyle = xlNone
xls.ActiveSheet.Range("B1:B2").Borders(xlInsideVertical).LineStyle = xlNone
xls.ActiveSheet.Range("B1:B2").Borders(xlInsideHorizontal).LineStyle = xlNone
xls.ActiveSheet.Range("B1:B2").Interior.ColorIndex = 6[/cpp]

Sinon y'a t'il un moyen de créer la macro dans excel pour l'éxécuter depuis Excel??
 

hoegarden31

Expert
je te conseille d'enlever ces 2 lignes :
[cpp]xls.ActiveSheet.Range("B1:B2" ).Borders(xlInsideVertical).LineStyle = xlNone
xls.ActiveSheet.Range("B1:B2" ).Borders(xlInsideHorizontal).LineStyle = xlNone
[/cpp]
d'apres moi ils servent a rien

puis il vaut mieux de ajouter
[cpp]With xls.ActiveSheet.Range("B1:B2" ).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 1
End With[/cpp]

sinon il te manquera le cote droit :D

mais comme tu veux les fusionner c bon faut pas le mettre
(dsl mais j'avais pas bien compris le terme fusionner :whistle: )
 

Freeman23

Expert
Je voyais pas bien pourquoi tu pensais ca et je viens de tilter... Rien ne passe... Moi je suis sur que si mais tu ne le vois pas.
Quand tu appelles l'automation tu créé une nouvelle instance d'excel, un nouveau process, donc si tu as déjà un excel d'ouvert ce n'est pas le même et les actions que tu fais se font de manière totalement invisible, d'ailleur vérifie ton gestionnaire de taches tu verras autant des excel en trop...

Pour corriger cela, déjà avant la mise à jour tu ouvres le classeur voulu, puis tu enregistre en quittant. Sinon tu affiches simplement ton xls.
Code:
xls.application.visible = true

PS : Bien sur que c'est faisable directement sur Excel, il suffit de copier ce code en enlevant juste tout ce qui concerne xls.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 159
Messages
6 718 524
Membres
1 586 445
Dernier membre
FlySilvers
Partager cette page
Haut