Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 06/03/2010, 11h39   #1
Membre du Club
 
bonero pross
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Nom : bonero pross

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 42
Points : 42
Par défaut transfert de Plage vers Tableau VBA

Salut tout le monde,
je veux transferer les données d’une plage vers un tableau vba.
Je sais comment utiliser la boucle pour transferer la plage vers un tableau vba ordinaire.
Je sais egalement comment utiliser un tableau Variant.
Mais je precise que je NE VEUX utiliser ces 2 methodes.
Quelqu’un aurait –il l’amabilité de me proposer une autre méthode efficace transférer ma plage vers un tableau VBA ordinaire ???

Merci d’avance les gars.
Voici mes codes :

Code :
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
Sub TransfertPlageVersTableau()
' je veux transferer la plage vers un tableau VBA.
'je ne veux pas utiliser les 2 methodes suivantes:
 
    Worksheets("feuil2").Activate
    Dim Plage As Range
    Set Plage = Range("A1:B5")
 
'1ere METHODE:celle de la boucle.
    Dim TabOrd() As Double  'mon tableau ordinaire.
    Dim NumRow As Integer: Dim NumCol As Integer
    NumRow = Plage.Rows.Count: NumCol = Plage.Columns.Count
    ReDim TabOrd(1 To NumRow, 1 To NumCol)
    Dim i As Integer: Dim j As Integer
    For i = 1 To NumRow
        For j = 1 To NumCol
            TabOrd(i, j) = Plage(i, j).Value
            'Debug.Print TabOrd(i, j)     'juste pour visualiser.
        Next j
    Next i
 
'2è METHODE:celle d'utiliser un tableau Variant.
    Dim TabVariant() As Variant
    TabVariant = Plage
    Dim k As Integer: Dim l As Integer
    For k = 1 To UBound(TabVariant, 1)
        For l = 1 To UBound(TabVariant, 2)
            Debug.Print TabVariant(k, l)  'juste pour visualiser.
        Next l
    Next k
'quelqu'un aurait-il une autre methode à me proposer pour transfere _
les donnees d'une plage vers un tableau VBA?? svp aidez moi.

Dernière modification par Philippe JOCHMANS ; 06/03/2010 à 11h41. Motif: Ajout des balises codes : Sélection du code + # dans la barre d'outils de la fenêtre de rédaction des messages
Bonero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2010, 11h45   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 173
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 43
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 173
Points : 29 874
Points : 29 874
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Tu devrais trouver d'autres exemples dans ce tuto : Utiliser les variables tableaux en VBA Excel

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h28.


 
 
 
 
Partenaires

Hébergement Web