Créer une colonne avec le contenu des trois précédentes

Résolu
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 25 oct. 2023 à 18:11
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 25 oct. 2023 à 20:14

Bonjour,

je suis en train de tenter d'intégrer mes extraits bancaires dans un tableau Excel en les important en CSV.

lorsque j'ai tout importé, je me retrouve avec des colonnes qui ne me sont pas utiles, je les masque. 

Mais j'ai une colonne très (trop) large reprenant les détails des opérations et c'est de cette colonne que je voudrais extraire une partie des informations, c'est à dire

en début de ligne, il y a soit "paiement avec la carte de débit", pour cela j'extrait le mot "débit" et plus loins dans la même ligne il y a le nom de la personne créditée, pour extraire ce nom, j'utilise stxt

et j'ai placé ces résultats dans trois colonnes distinctes : l'une m'écrit "débit", l'autre "domiciliation" et la derière "virement"

sur une ligne, il n'y a bien entendu qu'une colonne dans laquelle le mot est inscrit.

Je voudrais créer une quatrième colonne qui les reprendrait toutes les trois.

J'ai essayé en VBA en faisant 

for i= 3 to 1551

if s(i)>"" then v(i)=s(i)

et ainsi de suite pour les autres colonnes, mais cela ne fonctionne pas; VBA m'indique erreur de tableau.

Pourriez vous m'aider ?

Je vous en remercie

A voir également:

3 réponses

yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
25 oct. 2023 à 20:05

tu essaies sans doute de faire ceci:

Dim i As Long
For i = 3 To 1551
    If Cells(i, "s") <> "" Then Cells(i, "v") = Cells(i, "s")
    If Cells(i, "t") <> "" Then Cells(i, "v") = Cells(i, "t")
    If Cells(i, "u") <> "" Then Cells(i, "v") = Cells(i, "u")
Next i
1
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
25 oct. 2023 à 20:08

Plus simplement:

For i = 3 To 1551
    Cells(i, "v") = Cells(i, "s") & Cells(i, "t") & Cells(i, "u")
Next i
1
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
25 oct. 2023 à 20:14

Magnifique !!

en effet, la formule =A&B&C semble facile et bonne.

Mais j'aime bien la formule en VBA

donc je vais essayer les deux.

Merci beaucoup et bonne soirée.

1
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
25 oct. 2023 à 19:57

bonjour,

difficile de donner un avis sans voir tout le code.

Pourquoi ne pas mettre une formule dans la quatrième colonne?

=A1&B1&C1
0