Récupérer les premiers caractères d'une colonne

Bonjour,

Je suis un peu dans la difficulté avec un morceau de code et j'aurais besoin de votre aide.

J'ai une liste de motifs de rupture de contrat, pour chaque départ mensuel suivant: Rupture conventionnelle, Mobilité hors unité, Démission, Fin de mission temporaire, etc.

J'ai besoin de récupérer les 3 premiers caractères ou les Initiales, ligne par ligne, afin de les coller dans une autre feuille en face du noms des personnes concernées.

Voici le code utilisé (qui fonctionne) pour l’extraction du noms de collaborateurs sur le départ:

'...
fichier_B.Activate 
Range("G8").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy 

fichier_A.Activate 
Cells(i + 1, 19).Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False 

Merci à vous.

Stan

Salut Stan,

Je veux bien regarder mais sans fichier, avec juste ton bout de code : impossible de comprendre clairement ton souci !

Si les données son sensible anonymes les ou envois moi le fichier par message privé

Bon courage

Girodo,

Bonjour,

voici une proposition, si tu peux ajouter une colonne dans ta base et mettre ces formules (celle que tu veux) tu n'aura plus qu'à copier coller la colonne.

A plus !

125extrac-ini-car.xlsm (17.65 Ko)

Bonjour Braters,

Tout d'abords je tiens à vous remercier pour votre aide, le code que vous m'avez donné répond absolument à ma question.

Cependant, j'aurais quelques questions afin de l'appliquer au mieux à mon cas:

1) Dans le cadre où les motifs de rupture sont compris dans un tableau (Colonne M8:M509), comment faire pour cibler les cellules où le code devra s’exécuter ?

2) Comment écrire directement les initiales/3 caractères dans la colonne "T" du fichier B?

L'objectif étant de garder la même méthodologie que ci-dessus:

' On récupère les données dans le fichier A
fichier_B.Activate 
Range("G8").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy 

' On les colle dans le fichier B 
fichier_A.Activate 
Cells(i + 1, 20).Select ' i = nombre de cellules non vide
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Merci par avance.

Stan

Bonjour,

Ces deux macros fonctionnent comme des formules. Par conséquent, si les motifs sont en colonne M du fichier A et que tu veux les initiales en colonne T du fichier B, il te suffit de mettre en T8 la formule suivante et de la faire glisser.

=extract(Fichier A!M8)
'ou
=Caractères(Fichier A!M8)

Concernant ton code, les commentaires ne correspondent pas au code Mais en gardant le même principe ca donnerai :

' On récupère les données dans le fichier A
fichier_B.Activate 
Range("H8").Select 'Colonne H où tu mets la formules pour récupérer les initiales
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy 

' On les colle dans le fichier B 
fichier_A.Activate 
Cells(i + 1, 21).Select ' i = nombre de cellules non vide, 21 au lieu de 20, les initiales viendront se coller dans la colonne suivante
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

A plus !

Re,

J'ai pense avoir résolu le problème, mais reste cependant à votre écoute:

'...
Dim Cell As Variant

' On récupère les données dans le fichier A
fichier_B.Activate 
Range("M8:M509").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy 

' On les colle dans le fichier B 
fichier_A.Activate 
Cells(i + 1, 20).Select ' i = nombre de cellules non vide
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

' On conserve les 3 premiers caractères de la sélection
For Each Cell In Selection
Cell.Formula = Mid(Cell.Formula, 1, 3)
Next

Merci bien.

Stan

Sans tes fichiers ni ta macro complète, difficile pour nous de trouver la solution à ton problème.

Si ce code correspond à tes attentes et résout ton problème alors tu peux clore ce sujet. Nous ne pouvons rien apporté de plus avec un simple bout de macro.

Si tu as d'autres problèmes ou demandes, je te laisse nous en faire part.

A plus !

Re,

Nos messages semblent s'être croisés .

En effet, j'ai confondu le fichier A et B dans mes notes ...

Finalement je vais opter ta méthode Braters.

Encore merci.

Stan

Rechercher des sujets similaires à "recuperer premiers caracteres colonne"