Microsoft 365 Peut-on insérer un code EntireRow.AutoFit dans une Function?

  • Initiateur de la discussion Initiateur de la discussion Englobe
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Englobe

XLDnaute Nouveau
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
 

Pièces jointes

Solution
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 …
Merci Dranreb,
J'ai ma réponse à ma recherche.
Je vais considérer la macro comme solution.
Bonne journée
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

Je continu à chercher. 🧐
Merci à toi
 
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 …
Merci Dranreb,
J'ai ma réponse à ma recherche.
Je vais considérer la macro comme solution.
Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
2 K
Retour