Mise en forme d'une feuille avec visuels

bonjour,

Voici mon souci, je réalise un cahier de maintenance celui ci a bien pris forme et arrive bientôt au terme. (enfin presque...)

voici le visuel de la feuille ou je rencontre des problèmes.

documentations

Alors il y a 2 choses qui ne vont pas :

la première est que ma cellule qui déclenche mes visuels reste active quand je sort de la feuille d'où quand je reviens sur ma feuille je n'ai pas de réinit. de mes visuels

il faudrait que quand je quitte ma feuille ma cellule sélectionnée aille sur une cellule qui ne déclenche rien comme ça mes visuels s'effacent.

La deuxième choses est que dans la cellule I5 j'ai le titre affiché en A47 quand je sélectionne mes cellules G50,G51,G52....

idem pour les autres titres en bleu ex. : CAPTEUR DE CHLORE la cellule I5 me renvoie I25 quand je sélectionne I26

ci joint le bout de programme me permettant les manip.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Documentations").Select
Feuil3.Document1.Picture = LoadPicture("")
Feuil3.Document2.Picture = LoadPicture("")

If Not Intersect(Target, Range("a38")) Is Nothing Then
Feuil3.Document1.Picture = LoadPicture("F:\01_DD\01_R&I\01_A-INSTALL\01_P&P\04_Sup_tech\03 - Cahier de maintenance\Docs\ReseauVPN.jpg")
ActiveWindow.ScrollRow = 8
End If

If Not Intersect(Target, Range("a39")) Is Nothing Then
Feuil3.Document1.Picture = LoadPicture("F:\01_DD\01_R&I\01_A-INSTALL\01_P&P\04_Sup_tech\03 - Cahier de maintenance\Docs\LiaisonRS232.jpg")
ActiveWindow.ScrollRow = 8
End If

If Not Intersect(Target, Range("g48")) Is Nothing Then
Feuil3.Document1.Picture = LoadPicture("F:\01_DD\01_R&I\01_A-INSTALL\01_P&P\04_Sup_tech\03 - Cahier de maintenance\Docs\Concentrateurs_CCC.jpg")
ActiveWindow.ScrollRow = 8
End If

If Not Intersect(Target, Range("g50")) Is Nothing Then
Feuil3.Document1.Picture = LoadPicture("F:\01_DD\01_R&I\01_A-INSTALL\01_P&P\04_Sup_tech\03 - Cahier de maintenance\Docs\CC01_Montmartre.jpg")
Feuil3.Document2.Picture = LoadPicture("F:\01_DD\01_R&I\01_A-INSTALL\01_P&P\04_Sup_tech\03 - Cahier de maintenance\Docs\CC01b_Montmartre.jpg")
ActiveWindow.ScrollRow = 8
End If

Etc ...

Merci,

Bonsoir,

pour le premier soucis il y a l'événement Private Sub Worksheet_Deactivate() qui vous permet au "quitté" de la feuille de lancer un code VBA, dans celui-ci encadré par Application.EnableEvents = False et la même en true (à ne pas oublier) vous pouvez alors sélectionner une autre cellule "neutre"

Private Sub Worksheet_Deactivate()
    Application.EnableEvents = False
    Range("C5").Select
    Application.EnableEvents = True
End Sub

Mais s'il faut que cette sélection Neutre lance le code d'effacement des images alors il faut juste mettre le "Range" et oublier les "Applications".

Pour le point 2 je n'ai pas saisie...

@ bientôt

LouReeD

Bonsoir,

pour le premier soucis il y a l'événement Private Sub Worksheet_Deactivate() qui vous permet au "quitté" de la feuille de lancer un code VBA, dans celui-ci encadré par Application.EnableEvents = False et la même en true (à ne pas oublier) vous pouvez alors sélectionner une autre cellule "neutre"

Private Sub Worksheet_Deactivate()
    Application.EnableEvents = False
    Range("C5").Select
    Application.EnableEvents = True
End Sub

Mais s'il faut que cette sélection Neutre lance le code d'effacement des images alors il faut juste mettre le "Range" et oublier les "Applications".

Pour le point 2 je n'ai pas saisie...

@ bientôt

LouReeD

Bonjour et merci pour le retour,

En fait pour faire au plus simple dans mes explications ci joint le fichier test.

Espérant que ma demande soit plus compréhensible

Cdt,

10test.xlsx (8.74 Ko)

Bonsoir,

pour le premier soucis il y a l'événement Private Sub Worksheet_Deactivate() qui vous permet au "quitté" de la feuille de lancer un code VBA, dans celui-ci encadré par Application.EnableEvents = False et la même en true (à ne pas oublier) vous pouvez alors sélectionner une autre cellule "neutre"

Private Sub Worksheet_Deactivate()
    Application.EnableEvents = False
    Range("C5").Select
    Application.EnableEvents = True
End Sub

Mais s'il faut que cette sélection Neutre lance le code d'effacement des images alors il faut juste mettre le "Range" et oublier les "Applications".

Pour le point 2 je n'ai pas saisie...

@ bientôt

LouReeD

Re,

En fait pour la première question j'ai ajouter à mon bouton "documentation""

Sub Documentations()
'
' Documentations Macro
'

'
Sheets("Documentations").Select
ActiveWindow.ScrollRow = 52
ActiveWindow.ScrollRow = 8
Range("A1").Select
End Sub

Salut Esteban, LouReeD,

@Esteban pour ta deuxième demande, à mettre dans le code de ta feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("G50:G52")) Is Nothing Then
        Range("I5").Value = Range("A47").Value
    End If
End Sub

À adapter selon ton code évidemment.

Bonne journée,

Baboutz

Salut Esteban, LouReeD,

@Esteban pour ta deuxième demande, à mettre dans le code de ta feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("G50:G52")) Is Nothing Then
        Range("I5").Value = Range("A47").Value
    End If
End Sub

À adapter selon ton code évidemment.

Bonne journée,

Baboutz

Merci Baboutz

Ca fonctionne nickel !

Bonne journée

Bonsoir,

Bon je 'avais pas saisi le principe de la demande... Je crois qu'en ce moment je perd un peu le fil d'Excel...
Humm ? c'est pas bon tout ça !

Il me faut du repos, heureusement, les vacances arrivent à grand pas !

@ bientôt

LouReeD

Rechercher des sujets similaires à "mise forme feuille visuels"