Meilleur auteur de réponses
Ecrire dans Excel

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 !!
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
-
Bonjour,
J'ai trouvé la solution tout seul pour une fois !
Par contre,, il y a pas un moyen pour déclarer un tableau dynamique ?? plutot que de faire un tableau de 10000 cases ...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
- Marqué comme réponse Aurel Bera lundi 5 mai 2014 08:52
-
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
Toutes les réponses
-
Bonjour
Encore moi :-)
Voir la réponse dans ce thread:
Fastest way to write cells to Excel with Office Interop
Et vous avez déjà l'outil de conversion de C# vers VB.NET.
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 mercredi 30 avril 2014 11:59
-
Bonjour,
J'ai trouvé la solution tout seul pour une fois !
Par contre,, il y a pas un moyen pour déclarer un tableau dynamique ?? plutot que de faire un tableau de 10000 cases ...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
- Marqué comme réponse Aurel Bera lundi 5 mai 2014 08:52
-
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
-
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