Je me permets de vous solliciter à nouveau car je n'arrive pas à trouver la bonne solution à mon souci.
Je souhaite :
1 formater la cellule (donc la ligne) active à une hauteur,
2 que cette ligne soit remise à sa hauteur initiale quand je clique dans une cellule d'un autre ligne.
Malgré mes tests et recherches, je n'ai pas trouvé.
J'ai fait ce petit code qui fonctionne bien pour le point 1
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
On Error Resume Next
If Not Intersect(R, Range("a1:v10000")) Is Nothing And R.Count = 1 Then
ActiveCell.RowHeight = 300
End If
End Sub
Le fichier joint sera peut-être plus explicite que mes vagabondages LOL
Je vous remercie, comme toujours de votre gentillesse.
Bonne fin de journée,
Amicalement,
Lionel,
Hello
si je saisi bien le besoin...
par défaut, toutes tes lignes font 40pixels de hauteur
et quand tu cliques sur une cellule (de ta zone)
la ligne passe à 300 de hauteur...
si c'est bien ca..
dans le texte ci dessus. tu as déjà la réponse
ce qui donnerait
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
On Error Resume Next
Range("a1:v10000").RowHeight = 40 'par défaut
If Not Intersect(R, Range("a1:v10000")) Is Nothing And R.Count = 1 Then
ActiveCell.RowHeight = 300
End If
End Sub
Merci de cette réponse si rapide.
Je dois être très fatigué LOL car en effet, un peu de jujotte m'aurait apporté la réponse.
Un grand merci à toi
Amicalement,
Lionel,
Salut Arthour973, Vgendron,
Bien vu Vgendron, j'allais répondre quand tu m'as encore devancé.
Ma proposition était basé sur un vieux vieux vieux fichier et le temps de l'anonymer, tu es passé par là.
Je le joins tout de même mais la solution de Vgendron est la meilleure.
Mon fichier fonctionnait uniquement sur le n° de téléphone
@+ Lolote83
Je me permets de vous solliciter à nouveau car je n'arrive pas à trouver la bonne solution à mon souci.
Je souhaite :
1 formater la cellule (donc la ligne) active à une hauteur,
2 que cette ligne soit remise à sa hauteur initiale quand je clique dans une cellule d'un autre ligne.
Malgré mes tests et recherches, je n'ai pas trouvé.
J'ai fait ce petit code qui fonctionne bien pour le point 1
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
On Error Resume Next
If Not Intersect(R, Range("a1:v10000")) Is Nothing And R.Count = 1 Then
ActiveCell.RowHeight = 300
End If
End Sub
Le fichier joint sera peut-être plus explicite que mes vagabondages LOL
Je vous remercie, comme toujours de votre gentillesse.
Bonne fin de journée,
Amicalement,
Lionel,
Bonjour,
Si tu es certain de ta plage de 10000 Lignes
Il faudra aller en ligne 10001 pour que cela change à 30
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If R.Count > 1 Then Exit Sub
If Not Intersect(R, Range("a1:v10000")) Is Nothing Then
R.RowHeight = 300
Else
Cells.RowHeight = 30
End If
End Sub
J'ai un souci auquel je n'avais pas pensé à l'utilisation du code :
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
On Error Resume Next
Range("a1:v10000").RowHeight = 40 'par défaut
If Not Intersect(R, Range("a1:v10000")) Is Nothing And R.Count = 1 Then
ActiveCell.RowHeight = 300
End If
End Sub
En effet :
- Pour re-formater à chaque clic la hauteur de mes maxi 50.000 lignes, c'est plusieurs secondes et quand on clique plusieurs centaines de fois dans la journée, c'est beaucoup de temps.
- dans mon fichier, j'ai besoin d'afficher, selon des critères de tris, certaines lignes pour certaines actions et masquer les autres. Le code me ré-affiche tout à chaque clic et, du cou de la tête, plus moyen d'avoir en affichage les lignes souhaitées.
L'idéal, me semble-t-il, serait de remplacer cette ligne de code :
Code:
Range("a1:v10000").RowHeight = 40 'par défaut
par un code lui demandant de modifier la hauteur de la ligne UNIQUEMENT de la cellule "cliquée" avant le nouveau clic.
Mais ça, c'est certainement une autre affaire et peut-être pas possible ???
Je cherche .......
Bonne fin de journée à toutes et à tous,
Amicalement,
Lionel,
par un code lui demandant de modifier la hauteur de la ligne UNIQUEMENT de la cellule "cliquée" avant le nouveau clic.
Mais ça, c'est certainement une autre affaire et peut-être pas possible ???
Je cherche .......
Bonne fin de journée à toutes et à tous,
Amicalement,
Lionel,
Merci Jacky,
Je vais tester sur mon fichier de travail.
Dans la feuille, il y a bcp de codes qui s'exécutent aux clics des cellules.
Je vais voir le comportement et je te dirai.
Encore merci.
Bonne fin de journée,
Merci Jacky,
Je vais tester sur mon fichier de travail.
Dans la feuille, il y a bcp de codes qui s'exécutent aux clics des cellules.
Je vais voir le comportement et je te dirai.
Encore merci.
Bonne fin de journée,
re..
Si tu souhaites agrandir colonne +ligne + le texte, il y a ceci
A adapter à tes besoins, bien sur
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal R As Range, Cancel As Boolean)
Cancel = True
R.RowHeight = IIf(R.RowHeight = 300, 30, 300)
Rows(R.Row).Font.Size = IIf(R.RowHeight = 300, 40, 10)
Rows(R.Row).EntireColumn.AutoFit
End Sub