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
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
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
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
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
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 ...
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