none
Ecrire dans Excel RRS feed

  • Question

  • Bonjour,

    Encore moi !

    J'ai un tableau de valeur a écrire dans excel,

    Donc je récupère toutes mes valeurs, et après je dois les réecrire dans les cellules a partir de la cellule A2.

    sheetexcel.Range("A2").Value = "Coucou"

    Je sais que si je veux mettre une valeur dans une case j'utilise ça.

    Est-ce qu'il y a une forme plus "générale" pour dire la valeur1 dans A2, la valeur2 dans A3 etc etc etc...

    Merci !!

    mercredi 30 avril 2014 10:14

Réponses

  • Bonjour

    Si vous savez que vous avez 1000 cases, créer le tableau de dimension 1000 sera la solution la plus rapide.
    Sinon vous pouvez utiliser REDIM [PRESERVE ]

    http://msdn.microsoft.com/fr-fr/library/w8k3cys2.aspx

    Bien cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.


    • Modifié Aurel Bera lundi 5 mai 2014 08:51
    • Marqué comme réponse Tom57000 lundi 5 mai 2014 09:07
    lundi 5 mai 2014 08:50
  • Bonjour,

    J'ai trouvé la solution tout seul pour une fois !

    Dim List(10000) As String

    'Récuperation List(0) = sheetexcel.Cells(6, Colonne_Selection).text Dim nb = 0 For i = Début_Selection + 1 To Fin_Selection nb = nb + 1 List(nb) = sheetexcel.Cells(i, Colonne_Selection).text Next sheetexcel.Cells.Clear() 'Ré-écriture For r = 0 To nb sheetexcel.Cells(r + 2, 1).value = List(r) Next

    Par contre,, il y a pas un moyen pour déclarer un tableau dynamique ?? plutot que de faire un tableau de 10000 cases ...
    • Marqué comme réponse Aurel Bera lundi 5 mai 2014 08:52
    mercredi 30 avril 2014 12:38
  • Effectivement, je le faisais partout sauf pour cette partie du code.

    J'suis aveugle des fois.

    Voila le code corrigé & testé :

    'Definition tableau
                Dim List() As String
                ReDim List(0)
                List(0) = sheetexcel.Cells(Début_Selection, Colonne_Selection).text
                Dim nb = 0
                'Remplissage du tableau
                For i = Début_Selection + 1 To Fin_Selection
                    nb = nb + 1
                    'Je la garde
                    ReDim Preserve List(nb)
                    List(nb) = sheetexcel.Cells(i, Colonne_Selection).text
                Next
                'J'efface tout
                sheetexcel.Cells.Clear()
                'Je réécris
                sheetexcel.Cells(1, 1) = B
                For r = 0 To nb
                    sheetexcel.Cells(r + 2, 1).value = List(r)
                Next
            End If
    Encore merci !
    • Marqué comme réponse Tom57000 lundi 5 mai 2014 09:07
    lundi 5 mai 2014 09:07

Toutes les réponses