Mise à jour macro et éxécution de celle ci à l'ouverture du doc

0

Bonjour,

J'aurais besoins de votre aide une nouvelle fois.

J'ai effectuer un programme pour créer les bordures d'un tableau si une certaine cellule est rempli celui ci fonctionnent très bien mais j'aurais besoins que cette macro ce s'exécute des l'ouverture (premier problème que je n'ai pas réussi à résoudre) du fichier en faisant une mise à jour toute les 5 secondes (ce problème étant résolu). 
La macro concernant les bordures de ce tableau est sur la feuille 1 de mon excel mais ma feuille de mesure ou je rentre toutes mes données est elle en feuille 2, donc lors de la mise à jour de ma macro je retourne toute les 5 secondes en feuille 1. Serait-il possible que cette mise à jour se face sans qu'il y ait ce retour à la feuille 1?

Merci pour votre aide.

Mon code:

Private Sub Workbook_open()
Call miseajour
End Sub


Sub miseajour()

Application.OnTime Now + TimeValue("00:0:05"), "miseajour"
Call Bordures

End Sub


Sub Bordures()
Sheets("ce0").Unprotect

x = Sheets("ce0").Cells(39, "AW").End(xlDown).Row - 38

Sheets("ce0").Select

For I = 1 To x

Range("AW" & 38 + I & ":" & "AY" & 38 + I).Select
If Range("AW" & 38 + I) <> " " Then
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End If
Next I
Sheets("ce0").Protect
End Sub

Posté le 25 octobre 2019, 11:14
par candice
Répondre
1

Bonjour,

C'est possible.

Il ne faut pas utiliser Select et il faut remplacer tous les Selection par Sheets("ce0").Range("AW" & 38 + I & ":" & "AY" & 38 + I).

ouisansdoute Posté le 27 octobre 2019, 09:52
par ouisansdoute
0

Bonjour,

Merci cela fonctionne mais j'ai un autre petit soucis je ne peux pas continuer à rentrer mais valeur en même temps dans ma feuille 2.

De plus ma macro ne s’exécute toujours pas des l'ouverture de mon programme il y aurait-il une solution?

Merci pour vos réponses.

Posté le 28 octobre 2019, 08:08
par candice

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :