XL 2016 erreur dans une boucle sur des cellules (VBA)

courousse

XLDnaute Nouveau
Bonjour,

Je suis en train d'essayer d'automatiser un traitement. J'ai plus de 600 colonnes, je souhaite les réunir en une seule, en les mettant les unes sous les autres.

Sous VBA, si je l'inscris de la manière suivante :

*********************************

Sub boucle()

Dim n As Integer
For n = 2 To 6 'mettre le nombre de mots max à la place de 622

Call copier_termes

Next n

End Sub

Sub copier_termes()
'
' copier_termes Macro
'

'

Sheets("transpose_txt_EnsQ").Select
Cells(6, n).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TF-IDF observation").Select
Cells(6, 1).Select
Selection.Insert Shift:=xlDown



End Sub

*****************************

J'ai une erreur d’exécution 1004, sur " Cells(6, n).Select"

Si je remplace n par le numéro de la colonne, le code fonctionne, mais je ne souhaite pas l'ecrire plus de 600 fois.

Est ce que quelqu'un peut m'aider à comprendre l'origine de mon erreur ?

Par avance, merci.

Sébastien
 

vgendron

XLDnaute Barbatruc
bonjour
ta variable n n'est plus connue dans la macro Copierè_termes
en la déclarant public, ca devrait mieux se passer
VB:
Public n As Integer
Sub boucle()

For n = 2 To 6 'mettre le nombre de mots max à la place de 622

Call copier_termes

Next n

End Sub

Sub copier_termes()
'
' copier_termes Macro
'

'

Sheets("transpose_txt_EnsQ").Select
Cells(6, n).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TF-IDF observation").Select
Cells(6, 1).Select
Selection.Insert Shift:=xlDown



End Sub
 

job75

XLDnaute Barbatruc
Bonjour courousse, vgendron,

Une autre solution est de paramétrer la macro avec l'argument n :
Code:
Sub copier_termes(n As Integer)
et de l'appeler en n'oubliant pas l'argument :
Code:
Call copier_termes(n)
Par ailleurs il faut savoir que les .Select sont en général inutiles voire nuisibles en VBA.

Renseignez-vous, on l'a dit et répété 1000 fois sur ce forum.

A+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16