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 !

Thibault98

XLDnaute Occasionnel
Bonsoir,

Avec l'enregistreur de macro j'ai obtenu ceci :

ActiveCell.FormulaR1C1 = "=RIGHT(RC[1],4)" pour sélectionner les 4 derniers caractères côté droit de la cellule voisine.

Dans un code VBA peut-on écrire ce résultat autrement ?
Plus lisible.

Merci d'avance,
Thibault
 
Bonjour

Il s'agit de savoir si tu veux garder la formule ou n'avoir que sa valeur.

Dans le premier cas, la seule ligne proposée peut renvoyer une réponse bizarre, dans le second, fidèle à ma suppression du Offset utilisé par Papou-net (salut), je propose, bien moins éclatant que Staple (salut à toi l'artiste qui teste la longueur du texte mais pas la colonne pour avoir une bonne réponse ) :

La sélection doit recevoir en fonction de la droite

premier cas (formule en français dans le code)
VB:
Sub QuatreF()
  Dim R As Range
  Set R = (ActiveCell(1, 2))
  If Len(R) > 4 Then ActiveCell.FormulaLocal = "=DROITE(" & R.Address & ";4)"
End Sub

Second cas
VB:
Sub QuatreV()
  Dim R As Range
  Set R = ActiveCell(1, 2)
  If Len(R) > 4 Then ActiveCell = Right(R, 4)
End Sub


Remarque pour le second cas on peut reprendre la première macro en joutant à la fin
ActiveCell=ActiveCell.Value


La cellule sélectionnée doit renvoyer à gauche
Reprise de la Macro de Staple
VB:
Sub Macro1()
  Dim vCar&
  If Selection.Count > 1 Then Exit Sub
  If Selection.Columns = 1 Then Exit Sub  'la cellule sélectionnée ne doit pas être en colonne 1
  vCar = Len(Selection)
  Selection.TextToColumns Selection(1, 0), 2, FieldInfo:=Array(Array(0, 9), Array(vCar - 4, 1), Array(vCar, 9))
End Sub
 
- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
904
Réponses
17
Affichages
1 K
Retour