Bonjour,
J'ai une fonction dont je désire que la hauteur de la cellule A4 s'ajuste automatiquement suite ;a l'ajout ou retrait de données dans celle-ci.
Est-il possible de mettre un code à même la Function?
VB:
Function RenvoiResultat(Choix As Variant, Plage As Variant)
Application.Volatile
c = Choix.Interior.ColorIndex
For Each cell In Plage
If Range(cell.Address).Interior.ColorIndex = c Then RenvoiResultat = RenvoiResultat & Chr(10) & Range(cell.Address)
Next cell
RenvoiResultat = Mid(RenvoiResultat, 2)
' Ajouter ici un code pour que la ligne 4 s'ajuste automatiquement selon les contenus?
End Function
Bonjour.
En principe une fonction invoquée depuis une formule de cellule ne peut opérer aucune sorte de modification du classeur. Elle n'a pour rôle admis que de renvoyer une valeur qui sera adoptée comme étant celle de la cellule qui la porte. Cependant tant qu'elle n'essaye pas d'y jardiner à l'aide de méthodes de la bibliothèque Excel elle peut quand même faire plein de choses. Elle peut en particulier laisser une consigne dans une Collection VBA qui sera analysée et appliquée par une Sub Workbook_SheetCalculate du module ThisWorkbook, vu qu'elle s'exécutera après et donc en dehors de la phase de calcul d'Excel …
Bonjour,
Ça ne fonctionne pas. Suite à un changement de couleur dans la feuille, la cellule qui contient la fonction ne s'ajuste pas.
VB:
Function RenvoiResultat(Choix As Variant, Plage As Variant)
Application.Volatile
c = Choix.Interior.ColorIndex
For Each cell In Plage
If Range(cell.Address).Interior.ColorIndex = c Then RenvoiResultat = RenvoiResultat & Chr(10) & Range(cell.Address)
Next cell
RenvoiResultat = Mid(RenvoiResultat, 2)
Range("A4").WrapText = True
' Ajouter ici un code pour que la ligne 5 s'ajuste automatiquement selon les contenus?
End Function
Hum... toujours si je ne m'abuse, tu met des infos avec retour à la ligne dans la cellule B4(5, 6, 7, 8, 9), donc c'est bien le B qqchose que tu dois activer le "Renvoyer à la ligne automatiquement", pas dans A4 qui ne contient qu'un texte
Bonjour,
C'est lorsque que je me positionne dans A4 et que je fais un ENTER que B4 s'ajuste en hauteur. Mais ça ne fonctionne pas à partir de la Function avec l'ajout de Range("A4").WrapText = True ni pour Range("B4").WrapText = True.
Merci
Bonjour,
C'est lorsque que je me positionne dans A4 et que je fais un ENTER que B4 s'ajuste en hauteur. Mais ça ne fonctionne pas à partir de la Function avec l'ajout de Range("A4").WrapText = True ni pour Range("B4").WrapText = True.
Merci
Bonjour,
J'ai une solution de sylvanu. Ce sera par contre avec macro.
VB:
Sub Remplit()
DL = [A65500].End(xlUp).Row
Set Plage = Range("A13:A" & DL)
For L = 4 To 9
Cells(L, "B") = RenvoiResultat(Cells(L, "A"), Plage)
Cells(L, "C") = CompterCouleur(Plage, Cells(L, "A"))
Next L
Rows("4:9").EntireRow.AutoFit
End Sub
Je continu tout de même de mon côté pour trouver un code pour une fonction à savoir si ç'est possible.
Merci beucoup
Bonjour.
En principe une fonction invoquée depuis une formule de cellule ne peut opérer aucune sorte de modification du classeur. Elle n'a pour rôle admis que de renvoyer une valeur qui sera adoptée comme étant celle de la cellule qui la porte. Cependant tant qu'elle n'essaye pas d'y jardiner à l'aide de méthodes de la bibliothèque Excel elle peut quand même faire plein de choses. Elle peut en particulier laisser une consigne dans une Collection VBA qui sera analysée et appliquée par une Sub Workbook_SheetCalculate du module ThisWorkbook, vu qu'elle s'exécutera après et donc en dehors de la phase de calcul d'Excel …
Bonjour.
En principe une fonction invoquée depuis une formule de cellule ne peut opérer aucune sorte de modification du classeur. Elle n'a pour rôle admis que de renvoyer une valeur qui sera adoptée comme étant celle de la cellule qui la porte. Cependant tant qu'elle n'essaye pas d'y jardiner à l'aide de méthodes de la bibliothèque Excel elle peut quand même faire plein de choses. Elle peut en particulier laisser une consigne dans une Collection VBA qui sera analysée et appliquée par une Sub Workbook_SheetCalculate du module ThisWorkbook, vu qu'elle s'exécutera après et donc en dehors de la phase de calcul d'Excel …