Mise en forme VBA recopie

Marjo2

XLDnaute Occasionnel
Bonjour,

J'ai un export et je n'arrive pas à mettre mes morceaux de codes bout à bout.
Quelqu'un pourrait-il m'aider svp ?

Insère 3 colonnes
Worksheets("EXPORT").Select
Columns(1).Insert Shift:=xlToRight
Columns(2).Insert Shift:=xlToRight
Columns(3).Insert Shift:=xlToRight

Copie la ligne qui commence par C en colonne 1

On recopie jusqu'à la prochaine

Supprime les lignes dont la colonne N est vide

Merci d'avance
 

Pièces jointes

  • TEST.xlsm
    15.6 KB · Affichages: 10

Efgé

XLDnaute Barbatruc
Bonjour Marjo2

Ce fut plus long que prévu, ton fichier pose certains problèmes.
Les nombres n'en sont pas, les cellules vides ne le sont pas vraiment et il faut comprendre le résultat attendu.
Je pense avoir trouvé.
Tu lance la macro Test et le résultat est sur la feuille TST

Cordialement
 

Pièces jointes

  • TEST_2.xlsm
    20 KB · Affichages: 5

Efgé

XLDnaute Barbatruc
Re
Parce que dans la colonne C de tes données il y a une valeur qui n'est ni vide, ni blanche (des espaces), ni un chiffre.
Peux-tu envoyer la ligne en défaut ? (La ligne est la valeur de i lors de l'arrêt du code).

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour Marjo2, salut Fred, heureux de te croiser,

Une autre solution, moins rapide, qui a l'avantage de conserver les formats :
Code:
Private Sub Worksheet_Activate()
Dim r As Range
Application.ScreenUpdating = False
Sheets("EXPORT").[A:O].Copy [A1]
[A:C].Insert 'insertion de 3 colonnes
For Each r In [Q:Q].SpecialCells(xlCellTypeConstants).EntireRow.Areas
    r.Cells(0, 4).Resize(, 3).Copy r.Resize(, 3)
Next
[Q:Q].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
La macro est à placer dans le code de la feuille RESULTAT et se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • TEST(1).xlsm
    26.5 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 096
Messages
2 085 254
Membres
102 839
dernier inscrit
Tougtoug