Agrandir une cellule excel quand on clique dessus ?
Fermé
nemotri
Messages postés
175
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
8 décembre 2017
-
12 oct. 2012 à 11:51
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 13 oct. 2012 à 20:53
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 13 oct. 2012 à 20:53
A voir également:
- Excel agrandir une cellule
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Verrouiller cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
8 réponses
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 101
Modifié par Mike-31 le 12/10/2012 à 13:19
Modifié par Mike-31 le 12/10/2012 à 13:19
Salut le fil,
teste ce code à coller dans les propriétés de la feuille.
Pour y accéder clic droit sur l'onglet de feuille/Visualiser le code ou clic sur les touche Alt et F11 en même temps
gérera les colonnes de A à G et les lignes de 3 à 30 (à adapter)
la largeur minimum des colonnes est de 5 et s'adapte automatiquement au passage de la souris
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column >= 1 And Target.Column <= 7 And Target.Row >= 3 And Target.Row <= 30 Then
Columns("A:G").ColumnWidth = 5
Me.Columns(Target.Column).EntireColumn.AutoFit
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
teste ce code à coller dans les propriétés de la feuille.
Pour y accéder clic droit sur l'onglet de feuille/Visualiser le code ou clic sur les touche Alt et F11 en même temps
gérera les colonnes de A à G et les lignes de 3 à 30 (à adapter)
la largeur minimum des colonnes est de 5 et s'adapte automatiquement au passage de la souris
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column >= 1 And Target.Column <= 7 And Target.Row >= 3 And Target.Row <= 30 Then
Columns("A:G").ColumnWidth = 5
Me.Columns(Target.Column).EntireColumn.AutoFit
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
Modifié par Patrice33740 le 12/10/2012 à 14:06
Modifié par Patrice33740 le 12/10/2012 à 14:06
Bonjour,
Essaie ce code :
- Le changement de cellule dimensionne toutes les cellules à 20 x 95
- Un clic droit dimensionne la cellule à 500 x 600
Cordialement
Patrice
PS :Petite erreur corrigée sur Max
Essaie ce code :
- Le changement de cellule dimensionne toutes les cellules à 20 x 95
- Un clic droit dimensionne la cellule à 500 x 600
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Rows.RowHeight = 15 Columns.ColumnWidth = 12.86 End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ActiveWindow.ScrollRow = Application.WorksheetFunction.Max(Target.Row - 5, 1) ActiveWindow.ScrollColumn = Application.WorksheetFunction.Max(Target.Column - 4, 1) Target.RowHeight = 375 Target.ColumnWidth = 85 Cancel = True End Sub
Cordialement
Patrice
PS :Petite erreur corrigée sur Max
nemotri
Messages postés
175
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
8 décembre 2017
35
12 oct. 2012 à 15:24
12 oct. 2012 à 15:24
Premièrement merci à tous les 3 pour vos réponses.
Pour eriic la méthode pourrait me convenir malheureusement je ne comprends pas le code VBA et je suis donc incapable de l'adapter à mon fichier. Si tu as un moment pour me l'expliquer ça m'intéresse ;-)
Pour Mike-31 je pense que ta méthode est celle qui me conviendrait le mieux mais cela ne semble pas fonctionner... Quant je rentre le code VBA, si je clique sur une cellule toutes les colonnes concernées (de A à G donc) prennent bien la largeur 5 mais ensuite elle la largeur ne s'adapte pas de tout ou du mois pas tout le temps : pour les cellule ou j'ai juste une ligne de texte dans la cellule ça marche très bien mais pour celles où j'ai plusieurs lignes de texte ça ne fonctionne pas... J'ai l'impression que la largeur s'adapte à la largeur de ma première ligne de texte dans la cellule mais malheureusement ce n'est jamais ma plus longue ligne. De plus le code permet d'adapter la largeur de la colonne mais pas la hauteur de ligne donc là encore je ne peux voir que ma première ligne de texter... Pour information les colonnes à gérer seraient de D à O et les lignes à gérer de 4 à 55.
Enfin pour Patrice33740 ça marche très bien mais y'a t-il moyen d'adapter ce code à la plage de cellules suivante : colonnes de D à U (si possible sans prendre en compte les colonnes H, M et R) et lignes 4 à 55 ?
Merci pour votre aide.
Pour eriic la méthode pourrait me convenir malheureusement je ne comprends pas le code VBA et je suis donc incapable de l'adapter à mon fichier. Si tu as un moment pour me l'expliquer ça m'intéresse ;-)
Pour Mike-31 je pense que ta méthode est celle qui me conviendrait le mieux mais cela ne semble pas fonctionner... Quant je rentre le code VBA, si je clique sur une cellule toutes les colonnes concernées (de A à G donc) prennent bien la largeur 5 mais ensuite elle la largeur ne s'adapte pas de tout ou du mois pas tout le temps : pour les cellule ou j'ai juste une ligne de texte dans la cellule ça marche très bien mais pour celles où j'ai plusieurs lignes de texte ça ne fonctionne pas... J'ai l'impression que la largeur s'adapte à la largeur de ma première ligne de texte dans la cellule mais malheureusement ce n'est jamais ma plus longue ligne. De plus le code permet d'adapter la largeur de la colonne mais pas la hauteur de ligne donc là encore je ne peux voir que ma première ligne de texter... Pour information les colonnes à gérer seraient de D à O et les lignes à gérer de 4 à 55.
Enfin pour Patrice33740 ça marche très bien mais y'a t-il moyen d'adapter ce code à la plage de cellules suivante : colonnes de D à U (si possible sans prendre en compte les colonnes H, M et R) et lignes 4 à 55 ?
Merci pour votre aide.
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 237
12 oct. 2012 à 16:42
12 oct. 2012 à 16:42
Re,
Pour mon code il suffit de le copier dans le module de la (des) feuille concernées.
Pour simplifier l'adaptation remplace :
If Target.Column <> 3 Or IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
par :
If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
et si tu veux restreindre à une plage ajouter en plus :
If Intersect(Target, [A2:E25]) Is Nothing Then Exit Sub
Ce programme était prévu pour une demande où il n'y avait que du texte à afficher et ne prévois pas que ce soit du numérique.
Il faudrait reprendre cette partie : .Comment.Text Text:=Target.Value pour ne pas que ça plante dans ce cas.
Fais déjà ton choix entre les 3 propositions pour trouver celle qui est le plus adaptée pour toi. On verra à ce moment là.
eric
Pour mon code il suffit de le copier dans le module de la (des) feuille concernées.
Pour simplifier l'adaptation remplace :
If Target.Column <> 3 Or IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
par :
If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
et si tu veux restreindre à une plage ajouter en plus :
If Intersect(Target, [A2:E25]) Is Nothing Then Exit Sub
Ce programme était prévu pour une demande où il n'y avait que du texte à afficher et ne prévois pas que ce soit du numérique.
Il faudrait reprendre cette partie : .Comment.Text Text:=Target.Value pour ne pas que ça plante dans ce cas.
Fais déjà ton choix entre les 3 propositions pour trouver celle qui est le plus adaptée pour toi. On verra à ce moment là.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nemotri
Messages postés
175
Date d'inscription
dimanche 9 août 2009
Statut
Membre
Dernière intervention
8 décembre 2017
35
13 oct. 2012 à 12:45
13 oct. 2012 à 12:45
Ok merci Eric,
Si je devais faire un choix je dirai que la méthode à Mike-31 est celle qui répondrait le mieux à mes attentes.
Si toutefois quelqu'un peut m'aider et l'adapter à ma demande ça serait génial.
Merci.
Boris.
Si je devais faire un choix je dirai que la méthode à Mike-31 est celle qui répondrait le mieux à mes attentes.
Si toutefois quelqu'un peut m'aider et l'adapter à ma demande ça serait génial.
Merci.
Boris.
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 101
13 oct. 2012 à 13:24
13 oct. 2012 à 13:24
Salut le fil,
Je ne pense pas que mon code soit le mieux adapté à cause des retours lignes que tu as dans les cellules, sauf si on prédifini une largeur fixe.
le code de Patrice n'est pas mal et fonctionne sur des dimensions cellules prédéfinies et fixe, que tu peux adapter
Par contre le code d'Eriiic me plait parce qu'il ne dimensionnement pas tes cellules et le contenu de la cellule s'affiche dans le commentaire au passage de la souris
Je ne pense pas que mon code soit le mieux adapté à cause des retours lignes que tu as dans les cellules, sauf si on prédifini une largeur fixe.
le code de Patrice n'est pas mal et fonctionne sur des dimensions cellules prédéfinies et fixe, que tu peux adapter
Par contre le code d'Eriiic me plait parce qu'il ne dimensionnement pas tes cellules et le contenu de la cellule s'affiche dans le commentaire au passage de la souris
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
13 oct. 2012 à 20:53
13 oct. 2012 à 20:53
Bonsoir,
Essaie ce code qui agrandit/rétrécit uniquement les cellules de la plage D4:U55 sauf les colonnes H, M et R :
Essaie ce code qui agrandit/rétrécit uniquement les cellules de la plage D4:U55 sauf les colonnes H, M et R :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Rows("4:55").RowHeight = 15 Columns("D:G").ColumnWidth = 12.86 Columns("I:L").ColumnWidth = 12.86 Columns("N:R").ColumnWidth = 12.86 End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, [D4:U55]) Is Nothing Then Exit Sub If Not (Intersect(Target, [H:H]) Is Nothing) Then Exit Sub If Not (Intersect(Target, [M:M]) Is Nothing) Then Exit Sub If Not (Intersect(Target, [R:R]) Is Nothing) Then Exit Sub ActiveWindow.ScrollRow = Application.WorksheetFunction.Max(Target.Row - 5, 1) ActiveWindow.ScrollColumn = Application.WorksheetFunction.Max(Target.Column - 4, 1) Target.RowHeight = 375 Target.ColumnWidth = 85 Cancel = True End Sub
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 237
Modifié par eriiic le 12/10/2012 à 12:37
Modifié par eriiic le 12/10/2012 à 12:37
Bonjour,
lorsque tu cliques une cellule son contenu apparait en commentaires dont la taille s'ajuste.
Regarde si ça te va : https://www.cjoint.com/?BJmmKP24d9E
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
lorsque tu cliques une cellule son contenu apparait en commentaires dont la taille s'ajuste.
Regarde si ça te va : https://www.cjoint.com/?BJmmKP24d9E
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.