Sélection de plusieurs cellule d'une ligne par boucle FOR

Bonjour

Les fichiers CSV que j'ouvre ont une erreur a l'export, cela me décale certaines colonnes de 4 sur la gauche, je n'ai pas la main sur la création des CSV, du coup je souhaite faire une macro VBA pour mettre en forme les fichiers pour pouvoir les retrailler plus facilement.

Je sollicite votre aide car j'ai trouvé sur ce forum comment décaler plusieurs cellules d'une même colonne mais pas plusieurs cellule d'une même ligne.

Je recherche a sélectionner 4 cellules consécutives d'une meme ligne pour les décaler de 3 positions via une boucle FOR.

Je suis parti sur des coordonnées en i,2

Mais je ne sais pas les utiliser avec la fonction range, peut être que range n'est la bonne fonction.

Exemple : Si B3 est vide, je coupe C3 a C6 pour les coller de C8 à C11 et ainsi de suite a chaque ligne.

Extrait du code:

For i = 3 To LastLine
If Cells(i, 2).Value = "" Then
Range((i, 3),(i,6))
End If
Next i

En vous remerciant par avance

Bonne journée

Pour le cut, j'ai trouvé, il me reste le paste

If Cells(i, 2).Value = "" Then
        Range(Cells(i, 3), Cells(i, 6)).Cut
        Range(Cells(i, 8)).PasteSpecial Paste:=xlPasteAll

Bonjour,

Utilisez l'onglet Données > Depuis fichier Texte/CSV pour importer un CSV dans Excel. On n'est plus au Moyen Âge 🙃

Vous pourrez ainsi, dans l'éditeur PowerQuery qui va s'ouvrir, retirer les colonnes en trop.

Oui, je sais mais comme le fichier CSV comporte des erreurs

Utiliser le Query, ne résout pas mon problème

Je souhaite automatiser le déplacement des cellules a leurs bonne position, c'est aussi pour faire des macro, il y a quelque temps que je n'ai pas fait de Macro Excel

Ok bon, si c'est "pour le sport" alors.

Pouvez-vous joindre un fichier avec 2 feuilles :

  1. La feuille juste après l'import du CSV
  2. Le résultat que vous voulez obtenir, fait à la main

Pas besoin de 100 lignes, si elles sont représentatives, 5-10 suffisent.

Ensuite on pourra voir le code, parce que votre explication sans support est dure à suivre.

Si jamais, sur la version 365 c'est aussi probablement possible avec une fonction (sans VBA).

Rechercher des sujets similaires à "selection ligne boucle"