Bonjour à toutes et à tous,
Le code suivant me permet de remplir un classeur excel à l'aide de 2 boucles for next, l'une pour les lignes, l'autre pour les colonnes :
Sub Remplir_tableau()
'Déclaration variables
Dim i As Integer
Dim j As Integer
Dim nblig As Integer
Dim nbcol As Integer
'Remplissage tableau
nblig = Range("A65536").End(xlUp).Row
nbcol = Range("A1").End(xlToRight).Column
For i = 3 To nbcol
For j = 2 To nblig
If Cells(j, 2) = Cells(1, i) Then
Cells(j, i) = Cells(j, 1)
Else
Cells(j, i) = ""
End If
Next j
Next i
End Sub
L'exemple ci-joint montre que la macro fonctionne très bien. Cependant, le fichier que je manipule tous les jours fait plutôt une centaine de colonnes et entre 500 et 2000 lignes en moyenne et l'exécution est très longue...
J'aimerais accélerer le code en traitant les données dans une variable tableau, puis en collant le contenu du tableau dans le classeur. Cependant je n'arrive pas du tout à faire fonctionner quoi que ce soit (j'ai pourtant passé beaucoup de temps sur les tutoriels en question... je dois vraiment être mauvais pour le vba....).
Merci d'avance aux personnes qui pourraient m'éclairer sur le sujet.
Bonne soirée
Le code suivant me permet de remplir un classeur excel à l'aide de 2 boucles for next, l'une pour les lignes, l'autre pour les colonnes :
Sub Remplir_tableau()
'Déclaration variables
Dim i As Integer
Dim j As Integer
Dim nblig As Integer
Dim nbcol As Integer
'Remplissage tableau
nblig = Range("A65536").End(xlUp).Row
nbcol = Range("A1").End(xlToRight).Column
For i = 3 To nbcol
For j = 2 To nblig
If Cells(j, 2) = Cells(1, i) Then
Cells(j, i) = Cells(j, 1)
Else
Cells(j, i) = ""
End If
Next j
Next i
End Sub
L'exemple ci-joint montre que la macro fonctionne très bien. Cependant, le fichier que je manipule tous les jours fait plutôt une centaine de colonnes et entre 500 et 2000 lignes en moyenne et l'exécution est très longue...
J'aimerais accélerer le code en traitant les données dans une variable tableau, puis en collant le contenu du tableau dans le classeur. Cependant je n'arrive pas du tout à faire fonctionner quoi que ce soit (j'ai pourtant passé beaucoup de temps sur les tutoriels en question... je dois vraiment être mauvais pour le vba....).
Merci d'avance aux personnes qui pourraient m'éclairer sur le sujet.
Bonne soirée