Macro pour tableau
Fermé
fyftyone
-
Modifié par fyftyone le 2/07/2013 à 15:40
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 3 juil. 2013 à 11:45
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 3 juil. 2013 à 11:45
A voir également:
- Macro pour tableau
- Tableau croisé dynamique - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Trier tableau excel - Guide
1 réponse
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
3 juil. 2013 à 11:45
3 juil. 2013 à 11:45
Bonjour
voici le code, à recopier dans un module
j'ai supposé que les données commençaient en cellule A1
le résultat s'affiche dans la feuille 2
la durée de traitement est de l'ordre de 1mn 15 s sur mon PC
bonne réception
cdlt
voici le code, à recopier dans un module
j'ai supposé que les données commençaient en cellule A1
le résultat s'affiche dans la feuille 2
la durée de traitement est de l'ordre de 1mn 15 s sur mon PC
Sub Transformer() Application.ScreenUpdating = False Deb = Timer Range("A1").Select DerCol = ActiveCell.End(xlToRight).Column DerLig = ActiveCell.End(xlDown).Row ReDim Valeur(DerLig * DerCol) As String ReDim Lig(DerLig * DerCol) As String ReDim Col(DerLig * DerCol) As String x = 0 For j = 1 To DerLig For i = 1 To DerCol x = x + 1 Valeur(x) = Cells(j, i) Col(x) = i Lig(x) = j Next i Next j Sheets("Feuil2").Select Cells(1, 1) = "Colonnes" Cells(1, 2) = "Lignes" Cells(1, 3) = "Valeurs" Range("A2").Select For i = 1 To x Cells(i + 1, 1) = Col(i) Cells(i + 1, 2) = Lig(i) Cells(i + 1, 3) = Valeur(i) Next i MsgBox "Durée " & Timer - Deb & " secondes" End Sub
bonne réception
cdlt