Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

suppresion chaine de caracteres en VBA

winnie

XLDnaute Nouveau
Bonjour à tous,

J'ai ma colonne A qui fait beaucoup de lignes.

J'ai dans cette colonne des numéros de siret à 12 chiffres

exemple : 123456789101

Je voudrais transformé ces numéro à 12 chiffres en numéro SIREN à 9chiffres dont le résultat apparaitrait en colonne B.

Pour cela il suffit de supprimer les 3 derniers chiffres du numéro SIREN ( colonne A)

exemple : 123456789


mais je précise que je souhaiterais faire cela sous la forme d'une macro.

Merci
 

Paritec

XLDnaute Barbatruc
Re : suppresion chaine de caracteres en VBA

bonsoir winnie
essayes comme cela
a+
papou

Code:
sub copier
dim i&,fin&
fin = feuil1.range("A65536").end(xlup).row
for i = 2 to fin 
cells(i,2)=mid(cells(i,1),1,9)
next i 
end sub
 
Dernière édition:
G

Guest

Guest
Re : suppresion chaine de caracteres en VBA

Bonjour,

je précise que je souhaiterais faire cela sous la forme d'une macro.

Et avec tout ce que tu as lu dans le forum ou ce que tu y as appris, tu n'as pas une petite idée de comment faire???



A+
 
Dernière modification par un modérateur:

Efgé

XLDnaute Barbatruc
Re : suppresion chaine de caracteres en VBA

Bonjour winnie, Re Paritec, Hasco,
Une proposition avant le W.E
Code:
[COLOR=blue]Sub[/COLOR] Test2()
[COLOR=blue]Dim[/COLOR] Tableau()
Derligne = Sheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row
[COLOR=blue]ReDim[/COLOR] Tableau(0 [COLOR=blue]To[/COLOR] Derligne)
[COLOR=blue]For[/COLOR] i = 1 [COLOR=blue]To[/COLOR] Derligne
    Tableau(i - 1) = Left(Cells(i, 1), 9)
[COLOR=blue]Next[/COLOR] i
Sheets("Feuil1").Cells(1, 2).Resize([COLOR=blue]UBound[/COLOR](Tableau)) = Application.Transpose(Tableau)
[COLOR=blue]End Sub[/COLOR]
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : suppresion chaine de caracteres en VBA

Bonsoir JNP


J'avais zappé que winnie (initiateur du fil que tu cites) est l'initiateur d'icelui.

Et dans ce cas présent, regexp n'est pas la plus simple des solutions, non ?
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : suppresion chaine de caracteres en VBA

Re ,
J'avais zappé que winnie était l'initiateur du fil que tu cites et l'initiateur de ce fil sont la même personne.
Ouh là, tu parles bien la France à cette heure-ci ...
Non, je te charriais, c'est vrai que j'ai beaucoup échangé avec Winnie (l'ourson ?) sur l'autre fil, d'où ma percussion rapide ...
Un
Code:
=LEFT(A1;9)
serait bien plus efficace .
Mais c'était pour le fun .
Bonne soirée à toi, Jean-Marie, et bonne nuit pour les autres
 

Staple1600

XLDnaute Barbatruc
Re : suppresion chaine de caracteres en VBA

Re


Puisqu'on parle de fun
alors amusons nous encore avec RegExp
(bien qu'ici l'emploi de formules natives d'Excel suffirait)


Voili, voilou
Code:
Function SIREN(r As Range) As String
With CreateObject("vbscript.regexp")
    .Pattern = "^\d{9}"
    SIREN = .Execute(r.Text)(0)
End With
End Function
 

winnie

XLDnaute Nouveau
Re : suppresion chaine de caracteres en VBA

eh bien il s'en passe des choses quand je suis pas la...mais la c'est le week end je touche plus a mon pc.

Quel taquin ce JNP !! Mais toutes mes erreurs sont dues à mon ignorance..

Mais en tout cas merci a tous pour vos réponses.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…