Créer un volet lors d'un double clic sur une cellule

bonsoir,

la macro prévoit la possibilité de n'ajouter que 10 lignes.

la macro pour son bon fonctionnement, nécessite d'avoir "Détail" en colonne A dans les lignes ajoutées.

le titre des animés serait-il dans une cellule fusionnée ? si oui, ne clique pas sur le titre mais sur une autre cellule non fusionnée sur la même ligne.

pour la non exécution de la macro, je soupconne un paramétrage de sécurité excel à adapter.

voir ici comment l'adapter

http://office.microsoft.com/fr-be/excel-help/modifier-les-parametres-de-securite-des-macros-dans-excel-HP010096919.aspx

Pour ce qui est de la sauvegarde c'est résolu cela venais apparemment des paramètres de sécurité excel comme tu m'as dis.

Pour les mises en formes conditionnelles c'est toujours bon j'ai maintenant des case toutes blanches toutes belles

Par contre pour la colonne "Titres" c'est bien une cellule fusionnée donc d'après ce que tu me dis pas moyen de pouvoir double-cliquer sur celle-ci c'est ça? Si c'est le cas tant pis je ferai avec.

Le fait qu'il y est "Détail" en collone A ne me dérange pas du tout par contre puis-je augmenter ou diminuer le nombre de ligne via la ligne de code "nl = 10" ???

Voila, après ta prochaine réponse mon problème sera résolu

re bonsoir,

1) quelles sont les colonnes fusionnées du titre ?

2) tu peux adapter le nombre de lignes en modifiant le paramètre nl, mais ce paramètre est également utilisé pour déterminer le nombre de cellules à cacher ou à faire apparaitre. si tu as déja dans ton fichier des lignes ajoutées avant de modifier ce paramètre, je devrais adapter la macro.

je ferai les 2 adaptions lorsque j'aurais la réponse à la question 1.

Alors pour la question 1 est bien se sont les colonnes B et C qui sont fusionnées.

Pour la question 2 je voudrais savoir. Par exemple je double clic sur une case, cela me génère les 10 lignes en dessous qui peuvent être dissimulées en re cliquant dessus. Mais si je modifie le macro en mettant 15 par exemple et bien les lignes ou je cliquerait par la suite (et qui n'ont pas encore été double cliquées si je puis dire) générerons 15 lignes tandis que les autres qui on déjà été ouvertes resteront a 10 c'est cela?

Zayx a écrit :

Alors pour la question 1 est bien se sont les colonnes B et C qui sont fusionnées.

Pour la question 2 je voudrais savoir. Par exemple je double clic sur une case, cela me génère les 10 lignes en dessous qui peuvent être dissimulées en re cliquant dessus. Mais si je modifie le macro en mettant 15 par exemple et bien les lignes ou je cliquerait par la suite (et qui n'ont pas encore été double cliquées si je puis dire) générerons 15 lignes tandis que les autres qui on déjà été ouvertes resteront a 10 c'est cela?

c'est bien cela. car c'est comme cela que c'est programmé.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 And Target.Column <> 2 Then Exit Sub
If Cells(Target.Row, 1) = "Détail" Then Exit Sub
Application.EnableEvents = False
If Cells(Target.Row + 1, 1) <> "Détail" Then
 Rows(Target.Row + 1 & ":" & Target.Row + nl).Insert shift:=xlDown
 Rows(Target.Row + 1 & ":" & Target.Row + nl).Clear
 Cells(Target.Row + 1, 1) = "Détail"
 Cells(Target.Row + 1, 1).Copy
 Range("A" & Target.Row + 2 & ":A" & Target.Row + nl).Select
 ActiveSheet.Paste
Else
 i = Target.Row + 1
 TF = Not (Rows(Target.Row + 1).Hidden)
 While Cells(i, 1) = "Détail"
  i = i + 1
 Wend
 i = i - 1
  Rows(Target.Row + 1 & ":" & i).EntireRow.Hidden = TF
End If
If Target.Column = 1 Then
 Target.Offset(0, 1).Select
Else
 Target.Offset(0, -1).Select
End If
Application.EnableEvents = True
End Sub

D'accord je pense avoir saisi donc que modifie le nouveau code? Lorsque je changerai le "nl = " et bien toutes les lignes (même celles générées) passeront au nouveau nombre que j'aurai indiqué? Car moi je voudrais faire en sorte de prendre juste l'espace qu'il me faut (en fonction de si le synopsis est plus ou moins long) et donc pouvoir ajuster le nombre de lignes après avoir complété le synopsis pour qu'il n'y ai pas trop de ligne ou alors trop peu.

Après j'aurai une autre question mais elle n'a pas de rapport avec cette manipulation donc je me demande si je doit ouvrir un autre sujet (si jamais il n'en existe pas encore) ou alors te la poser ici

Bonsoir,

le nouveau code te permet

1) de cliquer le titre pour ouvrir, fermer ou générer l'inclusion de lignes, le clic sur la cellule fusionnée fonctionne

2) de masquer ou démasquer les lignes qui suivent le titre et qui contiennent Détail en colonne A, quel que soit leur nombre

Zayx a écrit :

Après j'aurai une autre question mais elle n'a pas de rapport avec cette manipulation donc je me demande si je doit ouvrir un autre sujet (si jamais il n'en existe pas encore) ou alors te la poser ici

il vaut mieux ouvrir un autre sujet.

D'accord mais est-il possible de rajouter (au moins rajouter après si y'en a un peu trop je centrerai manuellement) directement des lignes sans passer par une modification du macro sachant que si je génère les lignes pour pouvoir y insérer mon synopsis et qu'après et bien je me rend compte qu'il me manque de la place je suis embêté...

Mais d'un côté si on modifie le macro avant et que sa rajoute des lignes même a celles déjà générées et bien ma présentation n'y sera plus centrée... Je ne peut déterminer a l'avance combien de place sa me prendra...

Simple question a part, est-il possible de faire en sorte d'avoir une image qui apparaît (JPG, PNG, BMP...) au survol d'une case?

Si oui comment s'appelle cette manip. s'il te plait que je puisse faire une recherche si le forum possède déjà cette requête de la part d'un autre utilisateur.

re bonsoir,

code adapté,

pour ajouter des lignes détails là où il n' y en a pas, double-cliquer sur le titre (comment avant),

pour rajouter des lignes détails alors qu'il y en a déjà, double-cliquer sur la cellule "Détail"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 And Target.Column <> 2 Then Exit Sub
If Target.Column <> 1 And Cells(Target.Row, 1) = "Détail" Then Exit Sub
Application.EnableEvents = False
If Cells(Target.Row + 1, 1) <> "Détail" Or (Target.Column = 1 And Cells(Target.Row, 1) = "Détail") Then
 Rows(Target.Row + 1 & ":" & Target.Row + nl).Insert shift:=xlDown
 Rows(Target.Row + 1 & ":" & Target.Row + nl).Clear
 Cells(Target.Row + 1, 1) = "Détail"
 Cells(Target.Row + 1, 1).Copy
 Range("A" & Target.Row + 2 & ":A" & Target.Row + nl).Select
 ActiveSheet.Paste
Else
 i = Target.Row + 1
 TF = Not (Rows(Target.Row + 1).Hidden)
 While Cells(i, 1) = "Détail"
  i = i + 1
 Wend
 i = i - 1
  Rows(Target.Row + 1 & ":" & i).EntireRow.Hidden = TF
End If
If Target.Column = 1 Then
 Target.Offset(0, 1).Select
Else
 Target.Offset(0, -1).Select
End If
Application.EnableEvents = True
End Sub

C'est magnifique sa marche tellement bien

Voila problème résolu!!! Je vais maintenant m'atteler a l'image au survol d'une cellule en espérant qu'il y ai déjà un post mais si ce n'est pas le cas je re posterai un nouveau sujet dans quelques minutes donc si tu as la solution en tête et que tu peut rester a l’affût a très bientôt et encore MERCI!

Rechercher des sujets similaires à "creer volet lors double clic"