Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1060 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Manipuler des donnéesexcel (décallage vers le bas + transposer)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Manipuler des donnéesexcel (décallage vers le bas + transposer)

n°1885144
Yellow-Sky
Posté le 16-05-2009 à 08:57:32  profilanswer
 

Bonjour,
 
pourriez vous m'aider.
 
J'aimerais transformer ce tableau:
 
http://www.sartor.be/hbgm/tableau1.png
 
en ça:
http://www.sartor.be/hbgm/tableau2.png
 
Par ailleurs si les vides peuvent être comblés par les cellules du dessus (info, titre) ce serait parfait.
 
Avez vous des conseils à me donner?
Merci


Message édité par Yellow-Sky le 16-05-2009 à 09:17:10
mood
Publicité
Posté le 16-05-2009 à 08:57:32  profilanswer
 

n°1885166
kiki29
Posté le 16-05-2009 à 11:35:50  profilanswer
 

Salut, cela devrait fonctionner , il y a peut-être plus simple


Option Explicit
 
Sub Tst()
Dim LastRow As Long, i As Long
Dim LastCol As Long, k As Long
 
    LastRow = ShDepart.Range("A" & Rows.Count).End(xlUp).Row
    ShFinal.Cells.Clear
    Application.ScreenUpdating = False
    k = 1
 
    For i = 1 To LastRow
        LastCol = ShDepart.Range("IV" & i).End(xlToLeft).Column
        ShDepart.Range("A" & i & ":B" & i).Copy ShFinal.Range("A" & k & ":B" & k + LastCol - 3)
 
        ShDepart.Range("C" & i & ":" & NumCol2Lettre(LastCol) & i).Copy
        ShFinal.Range("C" & k).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
 
        k = ShFinal.Range("C" & Rows.Count).End(xlUp).Row + 1
    Next i
    With Application
        .CutCopyMode = False
        .ScreenUpdating = True
    End With
    ShFinal.Activate
End Sub
 
Private Function NumCol2Lettre(ByVal NumCol As Long) As String
Dim i As Long, x As Long, s As String
    For i = 6 To 0 Step -1
        x = (26 ^ (i + 1) - 1) / 25 - 1
        If NumCol > x Then
            s = s & Chr(((NumCol - x - 1) \ 26 ^ i) Mod 26 + 65)
        End If
    Next i
    NumCol2Lettre = s
End Function


Message édité par kiki29 le 16-05-2009 à 11:43:54
n°1885201
Yellow-Sky
Posté le 16-05-2009 à 13:42:44  profilanswer
 

Merci mais ça me donne une erreur de compilation: variable non définie.
 
Je vais voir ce que je peux faire...

n°1885219
kiki29
Posté le 16-05-2009 à 15:18:51  profilanswer
 

Salut, voir la copie d'écran http://cjoint.com/?fqpqUNJweU
et par la même occasion se renseigner sur CodeName http://www.ozgrid.com/VBA/excel-vba-sheet-names.htm


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Manipuler des donnéesexcel (décallage vers le bas + transposer)

 

Sujets relatifs
#1242 - Subquery returns more than 1 row[batch] Calcul d'un fichier txt et envoi vers sql
Sauvegarde ntbackup vers ftp[VC++] redirection de la sortie standard vers l'Output window
Librairie pour manipuler du texte et des images?Export de données Access vers Excel avec formules excel préservées
Export Access vers ExcelProbleme de syntaxe pour envoyer une chaine vers une fonction javascri
j n arrive pas à créer une connexion java vers base de données mysql[batch] rapatrier automatiquement vers un serveur central des données
Plus de sujets relatifs à : Manipuler des donnéesexcel (décallage vers le bas + transposer)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR