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

Aladin

XLDnaute Occasionnel
Bonjour le forum
J' ai une macro que j' essaye d' adapter pour une extraction et copie vers colonne se situant à gauche. Je m' explique, <extractionndes 4 derniers caractres de la colonne B qui sont des chiffres et les mettres dans la colonnes A. et aussi faire la mecro boucler sur certaines feuilles precises

Merci d' avance pour toute aide

Sub Toto()
[B3].Select 'On commence en B3
Do Until ActiveCell = "" 'Faire la boucle jusqu'à ce que la cellule selectionnée soit vide
ActiveCell.Offset(0, 2).FormulaR3A3 = "=RIGHT(RA[-4],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
[B3].Select
End Sub

Aladin
 
Re : Extraction et copie

Bonjour,

A tester :

Sub Test1()
For Each X In Range("B3:" & Range("B65536").End(xlUp).Address)
X.Offset(0, 1) = Right(X, 4)
Next
End Sub

ou

Sub Test2()
For Each X In Range("B3:" & Range("B65536").End(xlUp).Address)
X.Offset(0, 1).FormulaR1C1 = "=Right(RC[-1],4)"
Next
End Sub

Voir le fichier joint
 

Pièces jointes

Re : Extraction et copie

Bonjour Aladin, bonjour le forum,

peut-être comme ça :

Code:
Sub Macro1()
Dim ong As Worksheet 'déclare la variable ong (ONGlet)
Dim cel As Range 'déclare la variable cel (CELlule)
 
For Each ong In Sheets 'boucle 1 : sur tous les onglets du classeur
    Select Case ong.Name 'action en fonction du nom de l'onglet
        Case "Feuil1", "Feuil3" 'à adapter (écrit ici la liste des onglets où tu veux que ça agisse séparés par une virgule)
        With ong 'prend en compte l'onglet
            For Each cel In .Range("B3:B" & .Range("B65536").End(xlUp).Row) 'boucle 2 : sur toutes les cellules éditées cel de la colonne B
                cel.Offset(0, -1).Value = Right(cel.Value, 4) 'place en colonne A les 4 derniers caractères de la cellule cel
            Next cel 'prochaine cellule cel de la boucle 2
        End With 'fin de la prise en compte de l'onglet
    End Select 'fin de l'action en fonction du nom de l'onglet
Next ong 'prochain onglet de la boucle 1
End Sub

Édition :

Bonjour Catrice on s'est croisé...
 
Dernière édition:
Re : Extraction et copie

Re,

Vers la colonne A

Sub Test1()
For Each X In Range("B3:" & Range("B65536").End(xlUp).Address)
X.Offset(0, -1) = Right(X, 4)
Next
End Sub

ou

Sub Test2()
For Each X In Range("B3:" & Range("B65536").End(xlUp).Address)
X.Offset(0, -1).FormulaR1C1 = "=Right(RC[1],4)"
Next
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
2
Affichages
598
Réponses
2
Affichages
824
Réponses
4
Affichages
894
N
Réponses
14
Affichages
2 K
nounou1902
N
Réponses
57
Affichages
6 K
J
Réponses
2
Affichages
1 K
Justine56
J
T
Réponses
4
Affichages
6 K
ThomasGLT
T
F
Réponses
13
Affichages
2 K
L
Réponses
1
Affichages
996
lilidxb
L
B
Réponses
0
Affichages
935
BoudinTozz
B
Retour