Insérer un nombre de ligne variable (code MACRO)

vincentbernard1 1 Messages postés jeudi 7 décembre 2017Date d'inscription 7 décembre 2017 Dernière intervention - 7 déc. 2017 à 16:09 - Dernière réponse : via55 8783 Messages postés mercredi 16 janvier 2013Date d'inscription 10 décembre 2017 Dernière intervention
- 7 déc. 2017 à 16:57
Bonjour à tous,

Je voudrais insérer un nombre de ligne entre chacune de mes lignes actuelles en fonction du nombre de paramètres à ajouter. La situation étant complexe et difficile à expliquer avec des mots, le plus simple pour vous est de directement jeter un coup d’œil à mon fichier excel. J'ai distingué grâce à 3 feuilles, mon tableau actuel, le tableau de transition que je pense devoir créer (peut-être pas nécessaire), et enfin le tableau final voulu,

Je n'ai pas une grande expérience pour le codage macro, mais je peux le comprendre si vous m'expliquez,

Merci pour votre aide,

Vincent.

Mon fichier excel : http://www.cjoint.com/c/GLhpcCHusbw
Afficher la suite 
1Messages postés jeudi 7 décembre 2017Date d'inscription 7 décembre 2017 Dernière intervention

1 réponse

Répondre au sujet
via55 8783 Messages postés mercredi 16 janvier 2013Date d'inscription 10 décembre 2017 Dernière intervention - 7 déc. 2017 à 16:57
0
Utile
Bonsoir Vincent,

Macro à mettre dans un Module de l'éditeur VBA et à lancer depuis la feuille avec la tableau initial
Sub transposer()
lg = 1 'ligne des titres dans FINAL
'boucle sur lignes et colonnes du tableau initial
For x = 2 To 6
For y = 2 To 11
If ActiveSheet.Cells(x, y) <> "" Then ' si cellule non vide
lg = lg + 1 'incrementation de la ligne de recopie de 1
Sheets("FINAL").Range("A" & lg) = ActiveSheet.Cells(x, y) ' copie valeur en col A de FINAL
Sheets("FINAL").Range("B" & lg) = ActiveSheet.Cells(x, 1) 'ccpie dans FINAL de la valaur en col 1
Sheets("FINAL").Range("C" & lg) = ActiveSheet.Cells(1, y) ''ccpie dans FINAL du titre
End If
Next
Next
End Sub


Cdlmnt
Via

Commenter la réponse de via55