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 :

Erreur dans la transpose [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Clinical Data Manager
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Clinical Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut Erreur dans la transpose
    Bonjour à tous,

    Je fais mes premiers pas sous VBA après avoir parcouru SAS et me voilà confronté à un tout nouveau langage

    J'essaie de créer une macro afin de constituer une petite base de données en me servant d'un formulaire en colonne qui va transposer les données sur une autre feuille mais en ligne.

    J'ai fouillé sur le net et j'ai dégoté le code suivant:
    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
    Sub transpose_dans_tableau()
    'Atteindre le formulaire et mémoriser les données
        Sheets("New").Select
        Range("E4:E20").Select
        Selection.Copy
     
    'Test pour déterminer la ligne où coller les infos dans le tableau
        Sheets("DB").Select
        valeurA2 = Range("A2").Value
        If valeurA2 = "" Then
        Range("A2").Select
        Else
        Range("A1").Select
        Selection.End(xlDown).Select
        ligne_active_base = ActiveCell.Row
        Range("A" & ligne_active_base + 1).Select
        End If
     
    'Mémorise le n° de la ligne où coller les données
        ligne_active_base = ActiveCell.Row
     
    'Collage avec transposition
        Range("A" & ligne_active_base).Select
        Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=True
     
    'Rendre vierge le formulaire
        Sheets("New").Select
        Range("E4:E20").Select
        Selection.ClearContents
        Range("E4").Select
     
    'Retourner dans le tableau
        Sheets("DB").Select
        Range("A1").Select
     
    End Sub
    J'obtiens une erreur '1004' j'en ai déduis (d'après les autres discussions) qu'il s'agit d'une erreur dans la transpose... Mais alors où est l'erreur ? Pour le moment le VBA reste du chinois... Mais avec votre aide je vais vite apprendre

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous
    Bonjour vincenthird

    Si j'ai bien compris ce que tu souhaites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub transpose_dans_tableau()
    Dim P1 As Variant
    'Test pour déterminer la ligne où coller les infos dans le tableau
    ligne_active_base = Sheets("DB").Range("A65536").End(xlUp).Row + 1
     
    P1 = Sheets("New").Range("E4:E20")
    Sheets("DB").Range("a" & ligne_active_base & ":Q" & ligne_active_base) = Application.Transpose(P1)
    Sheets("New").Range("E4:E20").ClearContents
    End Sub
    et tu lances avec un bouton sur la feuille "DB"
    Eric

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Clinical Data Manager
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Clinical Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    En fait la feuille DB sera ma base de donnée en ligne et dans la feuille New j'entre mes données en colonne avec un bouton associé à la macro pour intégrer ces dites données dans la feuille DB.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Par défaut
    Personnellement je préfère utiliser Cells plutôt que Range en triturant l'adresse texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For i =4 to 20
         sheets("DB").Cells(ligne_active_base,i).value = sheets("New").Cells(i,5).value
         sheets("New").Cells(i,5).value = ""
    Next i
    Valeur 5 si données dans la colonne E

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Clinical Data Manager
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Clinical Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    Je vais essayer Merci philoul

    @edelweisseric,

    Ton code marche impec' ! Et en quelques lignes seulement Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tomcat] configuration d'une page d'erreur dans web.xml
    Par Super Castor dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/04/2009, 15h58
  2. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15
  3. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59
  4. [Erreur dans la lib...]
    Par Gonath dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/12/2003, 09h02
  5. Erreur dans l'utilisation de SWAP
    Par mire dans le forum Langage
    Réponses: 12
    Dernier message: 15/03/2003, 21h39

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