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

Bonjour.

Je viens à vous car je voudrais savoir si la manipulation que j'ai en tête est réalisable et si tel est le cas comment y arriver.

Je me suis créé une feuille de calcule afin de répertorier une liste d'animés que j'ai regardé avec évidemment le nombre d'épisodes, de saisons, d'OAV etc... Cependant j'aimerai la détailler un peu plus en y ajoutant une image, un synopsis, mon propre avis, une catégorie etc... et ce sur chacun des animes regardés ou en cours de visionnage. Ayant un liste assez conséquente et en perpétuelle extension la solution simple de mettre tout ce fourbi en dessous ne serait pas appropriée a ce que je veut faire car je me retrouverai facilement avec une feuille a plus de 1.000 lignes...

Ma question est la suivante: Est-il possible de faire en sorte que lorsque je double-clic sur une cellule et bien une dizaine d'autre lignes ce déplient en dessous et en re-cliquant dessus elles se replieraient? Par exemple je double clic sur la Cellule A1 et a partir de la ligne 2 et bien une dizaine (ou un nombre de lignes que j'aurai choisi) se rajoutent en dessous SANS affecter les lignes déjà présentes en ligne 2 et plus mais en les décalant vers le bas par exemple (et ce sans affecter les formules et les mises en forme conditionnelle ).

Je ne sais pas si je me suis bien exprimé et surtout je ne sais pas si le problème a déjà été soulevé car je ne sais pas comment nommer cette manipulation. En faite je ne sais rien du tout au bout du compte

Sur ce, je compte sur votre aide et votre savoir afin que je puisse ENFIN compléter ma fiche! Merci d'avance, Amicalement, Zayx.

Bonjour,

une proposition de macro lié au double-clic sur une cellule. dans ce cas 10 lignes seront insérées sous la cellule

1) sélectionner le code du forum (via tout sélectionner)

2) opier le code ctrl-C

3) aller dans excel

4) faire alt-F11 pour activer l'editeur vba

5) selectionner la feuille sur laquelle cette macro doit être d'application

6) coller le code ctrl-V

7) alt-F11 pour retourner dans les feuilles excel

8) faire un double-clic pour vérifier le bon fonctionnement de la macro

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 Then Exit Sub
Rows(Target.Row + 1 & ":" & Target.Row + nl).Insert shift:=xlDown

End Sub

Le ALT+F11 Ne fonctionne pas lorsque je le fait cela me donne un petit son windows qui signale que l'action n'est lié a rien ou impossible. Je vais préciser encore plus ma version d'excel car peut être que c'est la source du problème.

Je travail sur Microsoft Excel Starter.

bonsoir,

d'après quelques recherches que j'ai faites sur le net, il semblerait que vba ne soit pas disponible sur excel starter.

Je m'en doutais... C'est peut être pas très approprié de demander sur mon sujet mais je me lance quand même. Il y a moyen d'avoir Excel 2010 ou 2013 gratuitement? ou tout du moins un EXCEL avec le VBA.

bonsoir,

openoffice pourrait être une solution

J'ai justement essayé sous OpenOffice mais la problème c'est que tout mes mises en forme conditionnelles sautent...

J'ai mis un certains temps a les faire donc je ne me sent pas vraiment le courage de les refaire...

Pas moyen d'avoir une version d'Excel ou il y a le VBA gratuitement?

A mon avis, ce n'est pas possible légalement.

Arf et pas moyen de pouvoir faire ce que je veut sous Office Starter?

Up?

h2so4 a écrit :

Bonjour,

une proposition de macro lié au double-clic sur une cellule. dans ce cas 10 lignes seront insérées sous la cellule

1) sélectionner le code du forum (via tout sélectionner)

2) opier le code ctrl-C

3) aller dans excel

4) faire alt-F11 pour activer l'editeur vba

5) selectionner la feuille sur laquelle cette macro doit être d'application

6) coller le code ctrl-V

7) alt-F11 pour retourner dans les feuilles excel

8) faire un double-clic pour vérifier le bon fonctionnement de la macro

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 Then Exit Sub
Rows(Target.Row + 1 & ":" & Target.Row + nl).Insert shift:=xlDown

End Sub

Est-ce que cette manipulation fonctionne également sous Microsoft Office Pro 2007? Car j'ai moyen de mettre la main dessus.

bonsoir,

oui cela devrait aller

J'ai essayé sous Pro 2007 sa a l'air de fonctionner cependant ce n'est pas vraiment ce que je veut faire.

Moi je voudrai que ces lignes apparaissent et disparaissent après un double clic sur une cellule.

Par exemple je double clic sur la cellule portant le nom de mon premier anime et hop une dizaine de ligne apparaissent pour que je puisse y renseigner des informations. Si je re clic sur cette même cellule ces lignes disparaissent mais restent sauvegardée pour que quand je re cliquerais dessus et bien je retrouve les informations que j'y avais noté précédemment.

h2so4 a écrit :

bonsoir,

oui cela devrait aller

Sa sera plus simple de te citer peut être que tu verras mon message

Bonsoir,

voici le code adapté,

pour le copier cfr procédure décrité ci-avant.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 Then Exit Sub
If Cells(Target.Row, 1) = "Détail" Then Exit Sub
If Cells(Target.Row + 1, 1) <> "Détail" Then
 Rows(Target.Row + 1 & ":" & Target.Row + nl).Insert shift:=xlDown
 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
 If Rows(Target.Row + 1).Hidden = True Then
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = False
 Else
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = True
 End If
End If
If Target.Column = 1 Then
 Target.Offset(0, 1).Select
Else
 Target.Offset(0, -1).Select
End If
End Sub
h2so4 a écrit :

Bonsoir,

voici le code adapté,

pour le copier cfr procédure décrité ci-avant.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 Then Exit Sub
If Cells(Target.Row, 1) = "Détail" Then Exit Sub
If Cells(Target.Row + 1, 1) <> "Détail" Then
 Rows(Target.Row + 1 & ":" & Target.Row + nl).Insert shift:=xlDown
 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
 If Rows(Target.Row + 1).Hidden = True Then
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = False
 Else
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = True
 End If
End If
If Target.Column = 1 Then
 Target.Offset(0, 1).Select
Else
 Target.Offset(0, -1).Select
End If
End Sub

Nice sa fonctionne! Par contre je rencontre deux petits problèmes.

Premièrement les cellules qui sont générées par le double clic prennent la mise en forme conditionnelle que j'ai appliqué aux autres hors je ne le veut pas je voudrai que les nouvelles cellules générées soit vide donc sans aucune formule (ce qui est déjà le cas) mais aussi sans mise en forme conditionnelles (donc par définition blanche avec écriture noire). Est-ce possible?

Deuxièmement je ne sais pourquoi mais il y a une colonne ou lorsque je double clic et bien sa ne génère pas de ligne et c'est évidemment la colonne ou il y a les titres de mes animes. Peut être que cela viens du fait que se soit une colonne texte et non pas une colonne numérique?

Rebonsoir,

essaie ceci

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 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
 If Rows(Target.Row + 1).Hidden = True Then
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = False
 Else
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = True
 End If
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
h2so4 a écrit :

Rebonsoir,

essaie ceci

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nl = 10 ' nombre de lignes à ajouter
If Target.Count > 1 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
 If Rows(Target.Row + 1).Hidden = True Then
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = False
 Else
   Rows(Target.Row + 1 & ":" & Target.Row + nl).EntireRow.Hidden = True
 End If
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

Re re bonsoir Merci de tes réponses rapides mais le second macros me donne exactement la même chose que le premier ce qui veut dire toujours les mise en forme conditionnelles qui s'appliquent aux nouvelles cellules et aussi le fait que je ne puisse pas ouvrir les nouvelles lignes via double clic sur la colonne ou il y a les titres de mes animes.

EDIT: et pour pimenter le tout un troisième problème... Quand je ferme (en sauvegardant je précise) mon fichier excel et que je le ré ouvre après le macro ne fonctionne plus bien qu'il soit toujours dans le VBA...

bonsoir,

as-tu bien copié ce code ? dans la bonne feuille ?

pour sauver, il faut faire un saveas et choisir xlsm comme format

Autant pour moi, les mises en forme ne s'appliquent plus sur les cellules générées mais le problème pour la colonne des titres des animes persiste (en gros impossible d'ouvrir les ligne supplémentaires par double clic sur la colone "Titres"). De plus dans la liste d'extensions lors de la sauvegarde je n'ai pas le ".xlsm" j'ai par contre "Excel (prenant en charge les macros)" que j'ai évidemment choisi mais lorsque je ferme ma feuille excel puis la ré ouvre le macro de double clic ne fonctionne plus, je fait alors ALT+F11 pour aller voir si mon macro est toujours dans le VBA et il y est... Je ne comprend vraiment pas...

EDIT: je colle le code dans "Feuille1" en gros la ou j'ai mon tableau. c'est bien la que je doit le coller non?...

h2so4 a écrit :

bonsoir,

as-tu bien copié ce code ? dans la bonne feuille ?

pour sauver, il faut faire un saveas et choisir xlsm comme format

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