une seule ligne pour plusieurs colonnes en fonction de plusieurs paramètres (résolu)

Cly

XLDnaute Nouveau
Amis de la macros Bonjour à vous

Mon petit problème me semble simple à la base mais sa réalisation me pose problème.
J'ai la version 2007 excel avec windows XP pro.

Je souhaite tranposer des lignes en colonne. Tout bête me direz vous et là j'ai réussit mais où je pêche c'est que je voudrais que toutes les données principale du tableau soit en une seule colonne et ce fonction de deux choses : l'année et le numéro du puits.

J'ai joint un fichier avec mes données en feuille 2 et en première feuille ce que je souhaite obtenir pour être plus clair.

C'est un exemple parce que mon fichier original a près de deux cents colonnes et 300 lignes. Si je ne suis pas assez claire merci de me demander des précisions.

Voilà, je vous remercie d'avance.
 

Pièces jointes

  • Cly.xlsm
    15.2 KB · Affichages: 131
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : une seule ligne pour plusieurs colonnes en fonction de plusieurs paramètres

Bonjour Cly,

Bienvenue sur XLD,

en feuille Données

en A3

Code:
=SI(MOD(LIGNE($A1);7)=1;DECALER(Données!$A$2;ENT((LIGNE($A1)-1)/7)+1;0);"")
en B3

Code:
=SI(MOD(LIGNE($A1);7)<>0;DECALER(Données!$A$2;0;MOD(LIGNE($A1);7));"")
en C3

Code:
=SI(MOD(LIGNE($A1);7)=0;"";DECALER(Données!$A$2;ENT((LIGNE($A1)-1)/7)+1;MOD(LIGNE($A1);7)))
Le tout à recopier vers le bas :)

Bon, évidement à adapter un peu pour le nombre de colonnes ;)
 

Cly

XLDnaute Nouveau
Re : une seule ligne pour plusieurs colonnes en fonction de plusieurs paramètres

Merci beaucoup, tu es super.
Ca marche du tonnerre :)
Moi qui m'acharnait sur une macro sans arriver à mes fins...........
Pourquoi faire simple quand on peut faire compliquer ?

:)
 

tototiti2008

XLDnaute Barbatruc
Re : une seule ligne pour plusieurs colonnes en fonction de plusieurs paramètres (rés

Bonjour Cly,

à tester

Code:
Sub EnCol()
Dim Col As Long, Lig As Long, LigRes As Long
    With Sheets("Données")
        For Lig = 3 To 7
            For Col = 2 To 8
                    LigRes = (Lig - 3) * 7 + Col + 1
                    If LigRes Mod 7 = 3 Then Sheets("Feuil1").Range("A" & LigRes).Value = .Cells(Lig, 1).Value
                    Sheets("Feuil1").Range("B" & LigRes).Value = .Cells(2, Col).Value
                    If Col < 8 Then Sheets("Feuil1").Range("C" & LigRes).Value = .Cells(Lig, Col).Value
            Next Col
        Next Lig
    End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : une seule ligne pour plusieurs colonnes en fonction de plusieurs paramètres (rés

Bonjour le fil

Une autre macro (non finalisée au niveau format et totaux)

Code:
Sub a()
Dim i&
For i = 1 To Feuil1.[B65536].End(xlUp).Row Step 6
Feuil2.Cells(65536, "E").End(xlUp)(2).Resize(, 6) = _
Application.Transpose(Feuil1.Cells(i, "C").Resize(6))
Next
Feuil2.[E1].Resize(, 6) = Application.Transpose(Feuil1.[B1:B6])
Feuil2.[D2:D4] = Application.Transpose(Array("puits 10", "puits 21", "puits 22"))
End Sub

PS: Il faut supprimer les ligne vides au préalable dans la colonne B de la feuille 1
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 049
dernier inscrit
Xavier.L