[aide] creation de VBA

Bonjour a tous,

tout d'abord merci a vous de faire un système d'entraide communautaire.

j'aurais besoin de votre aide.

j'ai découvert les macro (vba?) il y quelques jours seulement. j'ai réussit a faire 2 ou 3 macro qui me conviennent, mais j'ai besoin d'aide pour les suivante qui vont je pense devoir utiliser des conditions. je n'ai pas trouver mon bonheur dans les tutos ni sur le forum.

j'ai des fichiers .csv très mal agencé, dans la colonne A j'ai mes catégories séparé par des points virgule, puis dans les colonnes B, C, B, E, etc (aléatoire) j'ai mes quantité avec le tarif adéquation.

donc mon soucis c'est de réussir a faire 1 articles par ligne.

  • j'ai créer une 1er macro qui copie la colonne A sur une 2em feuille, puis je converti cette colonne A pour qu'il me mette chaque catégorie dans une colonne distinct. (cela fonctionne.)
  • la macro continue et copie les colonnes B - Z sur le feuille 2 plus loins dans les colonnes (car le nombre de colonne de la 1er macro varie suivant les fichier...) cela fonctionne aussi.
  • Ensuite le lance une macro qui supprime les colonne vide se qui rapproche mes 2 copier/collé. (cela fonctionne)

c'est maintenant que je bloque :

Admettons que ma 1er parti fasse de la colonne A à E par exemple, et j'ai donc mes tarifs de F à L. il y a 372 lignes.

j'ai besoin de déplacer mes colonnes de G à L une par une pour qu'elle se mette sous celle de F (donc que toutes mes colonnes se réunisse) en supprimant les 2 1er qui sont inutile.... et en sachant que la j'ai dans mon exemple 1 372, mais je pourrais avoir 50 lignes ou 502... et la je ne sais pas du tout comment faire...

la 2em étape que je ne sais pas faire c'est copier les colonnes A à E du nombre de ligne en dessous d'elle même par rapport au nombre de colonne copier...

tout cela me permettra de créer un CV importable dan un prestashop...

(P j'ai aussi un problème de codage UTF8, si je l'importe en fichier texte cela fonctionne amis bug vu la conception bizarre du fichier de base..)

merci de votre aide

P j'ai joins mon fichier excel pour que vous compreniez mieux la mise en page de base, et j'ai la macro 1 et 2 réaliser pour que vous pussiez mieux comprendre mon explication.

12test-macro2.xlsm (16.36 Ko)

Bonjour Skynet, bonjour le forum,

J'ai lu, j'ai relu, mais j'ai pas vaincu... À vrai dire je ne comprends rien (mais ça c'est pas trop grave j'ai l'habitude) et j'ai peur que les autres non plus (ça, ça serait plus grave). Alors, ce que je te propose, c'est que tu envoies le fichier tel que tu l'as au départ. L'ordre dans lequel tu lances les macros et, dans un troisième onglet, le résultat final que tu désirerais obtenir. Après on en reparle...

lol

merci de ton retour, j'avoue que les fautes d'orthographes et les fautes de frappes n'aide pas non plus.

j'ai mis le fichiers joins.

c'est le document d'origine (enfin c'est la copie du csv)

il y a dedans les 2 macro (1 et 2) a lancer dans cette ordre

pour voir les 1er étape réussit

merci

Re,

Visiblement ton fichier n'est pas passé (poids à vérifier)...

bizarre, je viens de vérifier, j'ai su télécharger le fichier sans soucis et j'ai lancer les macro sans soucis.

voici la capture d’écran du forum avec le fichier...

capture

Re,

Arf ! Désolé je ne pensais pas que tu allais le mettre à la place du premier... Ou est le troisième onglet avec le résultat attendu ?...

quel 3em onglet?

pour le moment j'ai ma feuil1, je lance la macro 1 ça me créer ma feuil2, je vais dessus, je lance ma macro 2.

et j'en suis la...

merci

Re,

Relis mon premier post...

ok pardon, j'avais mal lu ton premier poste, voici le fichier originale et se que j'aimerais

merci

8originale.csv (9.12 Ko)
7test-actuel.xlsm (18.20 Ko)
9final.xlsx (21.43 Ko)

si ca peu aider certain

j'ai fait une petite macro pour le UTF8 en ISO

Sub UTF()
'
' UTF Macro
'

'
    Application.Left = 1517.5
    Application.Top = 106
    Cells.Replace What:="é", Replacement:="é", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="è", Replacement:="è", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="Ã ", Replacement:="à", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="ê", Replacement:="ê", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="ç", Replacement:="ç", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="Ã ", Replacement:="à", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="²", Replacement:="²", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:="""", Replacement:="", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

Bonjour

A vérifier le résultat

houaaa super à 1er vu ca fonctionne parfaitement!!

je teste sur plusieurs fichier dans la journée, un grand merci

je clôture si cela fonctionne


test sur 7 ou 8 fichiers, ça fonctionne très bien merci beaucoup !

PS: je ne peu pas éditer mon sujet pour indiquer que c'est résolu

merci à tous pour votre aide

Rechercher des sujets similaires à "aide creation vba"