Retour à la ligne en VBA
Résolu/Fermé
A voir également:
- Vba retour à la ligne
- Aller à la ligne excel - Guide
- Retour a la ligne chatgpt - Forum Réseaux sociaux
- Excel concatener retour à la ligne - Forum Programmation
- Retour à la ligne google sheet ✓ - Forum Bureautique
- Retour a la ligne php ✓ - Forum PHP
3 réponses
Utilisateur anonyme
11 nov. 2016 à 13:48
11 nov. 2016 à 13:48
Bonjour lefort32,
Pour la fonction, je te propose ce code VBA :
J'ai testé ce code, et il marche impeccable : si tu as un texte en A1
avec des slashs ( / ), et que tu mets en B1 : =SlashCar10(A1)
le texte en B1 sera bien celui de A1 avec des Chr$(10) au lieu
de slashs ; CEPENDANT, ÇA NE SUFFIT PAS ! En effet, ça ne
pourra marcher QUE SI le format de la cellule DESTINATRICE
est avec : ☑ Renvoyer à la ligne automatiquement (voir fenêtre
« Format de cellule », onglet « Alignement », cadre « Contrôle
du texte »).
Il y a bien cette instruction VBA qui le fait automatiquement :
ActiveCell.WrapText = True
MAIS cette instruction, qui modifie une cellule, ne peut être
exécutée QUE dans une Sub, et PAS dans une Function !
C'est donc impossible de faire mieux, sauf en ABANDONNANT
l'idée d'utiliser une fonction.
Mais si tu peux sans problème mettre par avance le format adéquat
dans toutes les cellules destinatrices, alors le problème sera réglé !
Si oui, merci de l'indiquer, afin que le sujet puisse être mis en résolu.
Cordialement. 😊
Pour la fonction, je te propose ce code VBA :
Option Explicit Function SlashCar10(chn As String) As String SlashCar10 = WorksheetFunction.Substitute(chn, "/", Chr$(10)) End Function
J'ai testé ce code, et il marche impeccable : si tu as un texte en A1
avec des slashs ( / ), et que tu mets en B1 : =SlashCar10(A1)
le texte en B1 sera bien celui de A1 avec des Chr$(10) au lieu
de slashs ; CEPENDANT, ÇA NE SUFFIT PAS ! En effet, ça ne
pourra marcher QUE SI le format de la cellule DESTINATRICE
est avec : ☑ Renvoyer à la ligne automatiquement (voir fenêtre
« Format de cellule », onglet « Alignement », cadre « Contrôle
du texte »).
Il y a bien cette instruction VBA qui le fait automatiquement :
ActiveCell.WrapText = True
MAIS cette instruction, qui modifie une cellule, ne peut être
exécutée QUE dans une Sub, et PAS dans une Function !
C'est donc impossible de faire mieux, sauf en ABANDONNANT
l'idée d'utiliser une fonction.
Mais si tu peux sans problème mettre par avance le format adéquat
dans toutes les cellules destinatrices, alors le problème sera réglé !
Si oui, merci de l'indiquer, afin que le sujet puisse être mis en résolu.
Cordialement. 😊
11 nov. 2016 à 14:15
11 nov. 2016 à 14:19
Si tu as raison, alors bravo !!! Mais moi, ça a refusé
de le faire pour une seule cellule ! Cdlt. 😊