Ligne masquée à l'insertion alors que je voudrais qu'elle soit affichée

Bonjour,

Je tiens un tableau de suivi de courriers entrants et sortants pour mon travail (cf fichier joint).

Quand un courrier sur un sujet nouveau part ou arrive, je crée une ligne (l'objet du courrier s'affiche sur fond noir).

Quand une réponse part ou arrive, je crée une nouvelle ligne juste en-dessous.

Comme cette ligne comporte une MFC différente (et quelques formules pour me faciliter la saisie), j'ai créé une macro dont le fonctionnement est simple : j'active n'importe quelle cellule de la ligne correspondant au courrier qui a reçu une réponse, puis je clique sur le bouton "entrer réponse à courrier existant", et la macro insère une copie d'une ligne cachée en début de feuille.

Et là, je ne comprends pas pourquoi, la ligne que j'insère est masquée.

J'ai compris que ça a un rapport avec le fait que la ligne-modèle en début de feuille est masquée, mais j'ai beau bidouiller le code, je n'arrive pas à ce qu'elle soit affichée lors de l'insertion.

Quelqu'un pourrait-il m'aider, siouplé ?

Merci !

16exemple.xlsm (17.18 Ko)

Bonjour,

Le fichier que tu nous as soumis n'a aucune macro ... afin que l'on trouve la cause de ton souci.

Ajoute au moins celle qui copie la ligne en question.

ric

Merci pour ta réponse...et désolé pour mon étourderie.

J'ai passé pas mal de temps à éliminer des données confidentielles et j'ai dû y aller un peu fort avec le Kärcher...

Voilà donc le fichier avec ses macros.

13exemple2.xlsm (22.71 Ko)

Bonjour,

Un essai ...

Sub COURRIER_InsŽrer_RŽponse()
Dim LG As Integer      ' déclarer les variables et les typer
Dim LH As Integer

   Application.ScreenUpdating = False

   LG = ActiveCell.Row
   LH = ActiveCell.Height      ' noter la hauteur de la ligne sélectionnée

   Rows(4).Copy
   With Rows(LG + 1)
      .Rows.Insert
      Rows(ActiveCell.Row + 1).EntireRow.Hidden = False  ' il faut ajouter 1 pour aller à la ligne suivante
      Rows(ActiveCell.Row + 1).RowHeight = LH            ' même hauteur de ligne que la ligne sélectionnée
   End With

   Cells(ActiveCell.Row + 1, "B").FormulaR1C1 = "=MAX(MAX(R1C:R[-1]C),MAX(R[1]C:R8872C))"
'''   ActiveCell = ActiveCell + 1      ' <<< quel le but de cette ligne ???????

   Cells(ActiveCell.Row, "E").Select
End Sub

ric

Merci pour ta réponse.

Merci, ça marche nickel !!!!!

(et réponse à ta question dans le code : la ligne sert à attribuer un numéro à chaque nouveau courrier. Je l'ai bricolé avec mes petits moyens en VBA...)

Encore merci !!!

Rechercher des sujets similaires à "ligne masquee insertion que voudrais soit affichee"