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 :

[VBA-E] - transformé un tableau excel en objet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Par défaut [VBA-E] - transformé un tableau excel en objet
    bonjour, je n'ai pa de code à présenter, jvoulai juste savoir si on pouvai faire passé un tableau excel en un objet, afin de pouvoir le transporté vers une autre feuille ou un autre classeur ? merci

  2. #2
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Une feuille Excel est déjà un objet en soit. Il s'agit d'un Object de type WorkSheet.

    Le code qui suit permet de copier la feuille RESULTAT - RECHERCHE du classeur courant dans le classeur nommé classeur1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub CopierFeuiller()
        Dim FeuilleSource As Worksheet
     
        Set FeuilleSource = ThisWorkbook.Worksheets("RESULTAT - RECHERCHE")
        FeuilleSource.Copy after:=Workbooks("Classeur1").Worksheets(Workbooks("Classeur1").Worksheets.Count)
    End Sub

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Par défaut
    jevais mexpliqué plus clairement. en fait j'ai 2 feuilles, sur 2 classeurs différents, qui comportent chacunes un tableau. je voudrais copier l'un des tableau sur l'autre feuille pour les mettre sur la même feuille. le problème c'est qu'il ne sont pa dimensionnés de la même façon, les colonnes ne correspondent pas du tout, et j'aurais voulu garder cette différence.

    est-ce possible ? dites le si c'est pas clair !

    merci

  4. #4
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Dans cas il suffit de copier les cellules d'une feuille sur une autre feuille. Utilise alors la fonction Copy de l'objet Range.

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Par défaut
    tu veux dire qu'il faudrait que je copie chaque cellule une par une d'une feuille à l'autre ? mais si je fais sa, j'aurais juste la valeur contenue dans la cellule mais pa la taille de la cellule. or, je voudrai gardé la dimension de la cellule.

  6. #6
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Je n'ai pas dit : "chaque cellule une par une" mais "les cellules"
    Je n'ai pas parlé de "la valeur contenue dans la cellule" mais de l'objet Range.

    Range désigne un bloc de cellules avec toutes les propriétés qui s'y rattache, donc le contenu, le format, la taille, la mise en forme, les formules, etc...

  7. #7
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Par défaut
    ouai en gros elle prend en compte le format de la cellule + la valeur. mais pa sa taille. si jcopie mon tableau avec la méthode range dans une autre feuille, le format de la cellule copié se copiera bien sur la nouvelle feuille, mais si la cellule mesurait 3cm sur l'ancienne feuille, et qu'elle ne mesure que 2cm sur la nouvelle feuille, la taille de la nouvelle cellule ne sera pa 3cm mais 2cm.

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Je ne connais pas VBA.
    Je sais seulement que Ousk a eu à traiter un problème similaire.
    Je me rappelle également avoir eu avec lui une conversation, pour traiter (hors VBA donc) du passage de tableaux dynamiques (truc tremplin qu'il a utilisé pour faire face au problème VBA).
    Il était parti de cet esprit là, résultat de notre conversation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Command1_Click()
       Dim toto(3) As String, titi
       For i = 0 To 2 '====juste pour remplir pour essayer
         toto(i) = Str(i)
       Next
       Let titi = toto ' == je fais une équivalence
       toto(0) = "a" '=== pour vérifier que pas toujours égal
       For i = 0 To 2
         MsgBox titi(i) & " " & toto(i) ' === et vérifie que titi est # de toto si j'ai modifié toto
        Next
    End Sub
    Attendez ousk !
    Pour adapter à VBA, il a la solution !

  9. #9
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Par défaut
    en gros est-ce que la cellule "A1" d'une feuille quelconque peut mesuré 2cm, et que "A2", cellule présente sur la même feuille mesure 3cm ?

Discussions similaires

  1. [VBA-E] Construction d'un tableau EXCEL avec VBA
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/05/2007, 07h35
  2. [VBA-E]transformer array en tableau type range
    Par matel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2006, 09h50
  3. [VBA] insérer un tableau Excel dans un formulaire
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 08/02/2006, 13h15
  4. [VBA-E]créer un tableau Excel en vba
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/01/2006, 16h06
  5. Aide débutant instruction VBA tableau Excell
    Par damien33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2005, 10h31

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