Extraire les deux derniers caractres

  • Initiateur de la discussion Initiateur de la discussion Francis
  • 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 !

Francis

XLDnaute Junior
Bonsoir le forum
Dans une cellule, contenant X caractères de tous types, genre (04.555/ABCDEF/13 )
Je cherche à récupérer les deux derniers caractères ( qui sont toujours des chiffres) et les coller dans une cellule contigüe et ce dans toutes les feuilles du classeur.


For I = 1 To Sheets.Count
With Sheets(I)
*
[G2] = Range("E2").Characters(12, 2) (bien sur cette phrase ne fonctionne pas)
*
*
End With
Next I
Quelqu’un peut il me mettre sur la voie?
Merci pour votre aide
Francis
 
Re : Extraire les deux derniers caractres

Bonsoir
Pour une feuille cela doit donner ça, pour plusieurs je ne sais pas
Sub toto()
[a1].Select 'On commence en A1
Do Until ActiveCell = "" 'Faire la boucle jusqu'à ce que la cellule selectionnée soit vide
ActiveCell.Offset(0, 2).FormulaR1C1 = "=RIGHT(RC[-2],2)"
'on se décale en C1 pour extraire les 2 caractéres
ActiveCell.Offset(1, 0).Select 'Décalage de 1 ligne à chaque fois
'on descend d'une cellule
Loop
[a1].Select
End Sub
 
Re : Extraire les deux derniers caractres

re
oui bien sûr il faut boucler si nécessaire.
boucle basique :
for b=1 to 65536 (ou plus si Excel 2007)
if cells(b,1)="" then exit for ' exemple colonne 1
' traitement ici
next
boucler pour les colonnes aussi
bye
 
Re : Extraire les deux derniers caractres

Bonsoir Dixit, CB60 et le forum

Merci pour vos réponses et particulièrement « ActiveCell.Offset(0, 2).FormulaR1C1 = "=RIGHT(RC[-2],2)" Ça marche très bien
Donc pour balayer sur toutes les feuilles :

For I = 1 To Sheets.Count
With Sheets(I)
.range("F3").Offset(0, 2).FormulaR1C1 = "=RIGHT(RC[-2],2)"
End With
Next I
Merci encore
Francis
 
Re : Extraire les deux derniers caractres

Bonsoir à tous,

J'arrive après la bataille, mais pour éviter de surcharger ta feuille avec des formules :
Code:
For I = 1 To Sheets.Count
With Sheets(I)
.range("F3").Offset(0, 2) = RIGHT(Range("F3"),2)
End With
Next I
Non testé mais devrait fonctionner...

Cordialement
 
Re : Extraire les deux derniers caractres

Bonjour à tous

Ou est l'erreur pour la boucle sur feuille et ensuite sur les autres feuilles.
Sub toto2()
For I = 1 To Sheets.Count
[a1].Select
With Sheets(I)
'.Range("a1").Offset(0, 2) = Right(.Range("a1"), 2)
Do Until ActiveCell = "" 'Faire la boucle jusqu'à ce que la cellule selectionnée soit vide
ActiveCell.Offset(0, 2) = Right(ActiveCell.Offset, 2) ActiveCell.Offset(1, 0).Select 'Décalage de 1 ligne à chaque fois
Loop
End With
Next I
End Sub
 
Re : Extraire les deux derniers caractres

bonjour,
(déjà [a1].Select ne doit pas fonctionner).
une sélection de cellules c'est soit avec Range soit avec Cells
cells(1,1).select pour A1
bye
Edit : bon, ne pas tenir compte de cette remarque car [A1].select fonctionne bien. je n'avais pas utilisé cette syntaxe donc je suis allé un peu vite ...
 
Dernière édition:
Re : Extraire les deux derniers caractres

bonjour

si si

[a1].Select fonctionne tres bien, meme si ce n'est pas la meilleur facon de syntaxer une cellule.

cb, dans ton code tu boucles sur toutes les feuilles, mais tu ne travailles en réalité que sur la feuille active.

For I = 1 To Sheets.Count
[a1].Select
With Sheets(I)

à remplacer par :

For I = 1 To Sheets.Count
With Sheets(I)
.select
.range("a1").Select

salut
 
Re : Extraire les deux derniers caractres

Re
Merci hervé, lorsque je passais ma macro avec "F8" je voyais bien qu'il me compter les feuilles, mais je ne voyais pas comment faire le changement de feuille.
Donc une fois de plus merci
 
- 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

Retour