IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tranposer avec format


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut Tranposer avec format
    Bonsoir à tous,

    Je vous sollicite pour une macro que j'utilise comme filtre auto.
    Pour accélérer le filtre, je transpose sur une autre feuille les résultats du filtre.

    Mon soucis est que la transposition ne prend pas en compte le format des cellules
    Ci dessous le code utilisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    If bActiver = False Then Exit Sub
     
        Dim n&, j&, ln%, i%, k%, conseil, etat$, tablo()
        If Target.Cells(1, 1) = "" Or Target.Count > 1 Then Exit Sub
        ' si case vide  pas de procédure
        Set sh = Sheets("Liste Demandes")
        sh.Range("B2").CurrentRegion.Offset(1).ClearContents
        ln = Me.Range("A" & Rows.Count).End(xlUp).Row
        If Not Intersect(Target, Me.Range("C5:h" & ln)) Is Nothing Then
            etat = Me.Cells(4, Target.Column)
            If Target.Row = ln Then
                For i = 5 To ln - 1
                    conseil = conseil & ";" & Me.Cells(i, 1)
                Next i
            Else
                conseil = ";" & Me.Range("A" & Target.Row)
            End If
            conseil = Split(conseil, ";")
            With Worksheets("Stock Demandes")
                n = .Range("K" & .Rows.Count).End(xlUp).Row
                For j = 3 To n
                    If .Cells(j, 6) = etat Then
                        For i = 1 To UBound(conseil)
                            If .Cells(j, 11) = conseil(i) Then Exit For
                        Next i
                        If i <= UBound(conseil) Then
                            k = k + 1: ReDim Preserve tablo(2 To 13, 1 To k)
                            For i = 2 To 13
                                tablo(i, k) = .Cells(j, i)
                            Next i
                        End If
                    End If
                Next j
            End With
            With Worksheets("Liste Demandes")
                .Range("B2").Resize(k, 12).Value = WorksheetFunction.Transpose(tablo)
                .Visible = xlSheetVisible
                .Activate
            End With
        End If
    End sub
    Merci d'avance pour votre aide.
    Sophie

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir
    fait plutôt une recherche sur

    " sheets(x).range(x,y).copy destination:=sheets(y).range(x)

    range(x) est la première cellule en haut a gauche de la destination
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut Re
    Bonsoir, j'ai essayé mais le tri à effectuer concerne plus de 15000 lignes.
    Du coup cette solution prend une quinzaine de secondes.

    La transposition est instantané.
    Je pensais que l'on pouvait transposer avec le format

    Merci pour votre réponse
    Sophie

Discussions similaires

  1. Réponses: 31
    Dernier message: 02/11/2010, 20h07
  2. Export Excel avec format sans Excel
    Par Seb.26 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 07/02/2007, 12h18
  3. comment mettre de la couleur avec format/write ?
    Par gedeon555 dans le forum Langage
    Réponses: 2
    Dernier message: 10/02/2006, 09h12
  4. [xslt] For-each dans template avec format XML (row)
    Par Steff1985 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/11/2005, 11h14
  5. Incrémentations année avec format date
    Par krfa1 dans le forum ASP
    Réponses: 3
    Dernier message: 14/11/2005, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo