Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 mémo_clic fonctionnement

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai un code que m'a passé un membre du forum que je remercie au passage.
Ce code est super !!!
Il me permet d'afficher à la hauteur choisie la ligne de la cellule cliquée.
Egalement, quand je clic sur la cellule d'une autre ligne,
Il remet la ligne précédemment cliquée à la hauteur initiale
et m'affiche la nouvelle ligne cliquée à la hauteur choisie.

J'ai un gros souci cf discussion https://www.excel-downloads.com/threads/affichage-lignes-masquees-temps-de-traitement.20039711/
Ce code me permet de solutionner à 50% mon souci.

En effet, je peux quand je clique copier une ligne formatée ce qui me permet d'afficher (dans mon fichier de travail) les cellules pour qu'elle soient parfaitement lisibles,
notamment en ce qui concerne les longues annonces et nos commentaires = 50% du problème résolu


En revanche, je ne sais pas coder le retour :
C'est à dire qu'à l'affichage de la nouvelle ligne cliquée ;
Il remet la ligne précédemment cliquée à la hauteur initiale et efface ses formats (.Selection.ClearFormats)

Si vous aviez la bonne codification, ce serait super.
Je joins un fichier test.
Un super grand remerciement pour celui-là aussi 🙂
lionel,
 

Pièces jointes

re
et y en a bien d'autre
mais j’arrête sinon on en fini plus😛😛😛

toutes ces demos pour dire que quand tu sais les choses elles sont de suite plus facile et surtout plus simple a coder 😉
perso je ferais bien un tour dans ton usine a gaz a coup de tronçonneuse,de hache et de rabot 😛😉
 
Re : Pour Finir en Boucle... heu en Beauté 😛😛😛😛😛

Avec 1 Variable tableau 1 Ligne 3 Colonnes / 1 Objet Pour chaque Colonnes
C'est suffisant pour faire tourner le Programme.

Module standard : Active_Desactive
VB:
' Variable tableau Public avec Stockage de 3 Objets
    Public TabCord(1 To 1, 1 To 3) As Range
'
Sub active()
Application.EnableEvents = True
End Sub
Sub desactive()
ActiveSheet.Unprotect Password:=""
Application.EnableEvents = False
End Sub

Suite : Module Privé de la Feuil1
VB:
Private Sub Worksheet_SelectionChange(ByVal r As Range)
    Set TabCord(1, 1) = Me.Range(Me.Cells(3, 2), Me.Cells(3, 25))
' Sortie si choix de la cible
    If TabCord(1, 1).Row = r.Row Then Exit Sub
' Depart
    Me.Unprotect Password:=""
    Application.EnableEvents = False
    Application.ScreenUpdating = False
'
    If Not (TabCord(1, 2) Is Nothing) Then
        TabCord(1, 2).EntireRow.ClearFormats
        TabCord(1, 2).RowHeight = 15
    End If
'
'   Adresse Cible (A Consigner)
        Set TabCord(1, 3) = Range(Cells(r.Row, 2), Cells(r.Row, 24))
'     Format Cible (A Formater)
        TabCord(1, 1).Copy
            With TabCord(1, 3)
                .PasteSpecial Paste:=xlPasteFormats
                .RowHeight = 40
            End With
        Application.CutCopyMode = False
'
    Set TabCord(1, 2) = TabCord(1, 3)
'
' Fin
    ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoRestrictions
    Application.EnableEvents = True
    Application.ScreenUpdating = True
'
End Sub

Puis pour la fermeture du classeur : Module ThisWorkbook

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Sortie du classeur
' Ne pas enregistrer la variable (CustomProperties)
' Précédente Adresse Cible (Suppression tous format et Hauteur ligne 15)
' Depart
    ActiveSheet.Unprotect Password:=""
    Application.EnableEvents = False
    Application.ScreenUpdating = False
'
    If Not (TabCord(1, 2) Is Nothing) Then
        With TabCord(1, 2)
            .EntireRow.ClearFormats
            .RowHeight = 15
        End With
        ActiveSheet.Cells(3, 1).Select
    End If
'
' Fin
    ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoRestrictions
    Application.EnableEvents = True
    Application.ScreenUpdating = True
'
End Sub

Ont va pouvoir s'écouter un petite yvette horner car ou commence à valser 😛 😛 😛 😛 😛

Tu vas en faire une sacré Usine Lionel... Tu vas pouvoir embaucher bientôt 🙄🙄😛😛😛

Laurent
 

Pièces jointes

ton TabCord(1, 3) c'est le r de Private Sub Worksheet_SelectionChange(ByVal r As Range)

Effectivement tu as raisons... avec juste 1 Tableau d'une ligne et de 2 Colonnes cela suffit
puisque r est déjà l'objet alors pas besoin de stocker r dans le tableau

Alors je propose a Lionel de refaire le dernier code avec le tableau comme décrit ci-dessus pour s’entraîner.

Sur ceux je vais aller dormir, je commence a fatigué, et encore merci
Bonne nuit Patrick
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Erreur de macro
Réponses
4
Affichages
748
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…