XL 2013 VBA : lier deux cellules sur des feuilles différentes

cyrikou

XLDnaute Occasionnel
Bonjour à tous, j'ai un userform qui fonctionne très bien, je veux y rajouter une fonctionnalité :

rajouter une ligne à un tableau et associer des valeurs calculées aux lignes insérées

Il y a 28 colonnes donc j'ai utilisé l'instruction " For/Next"
Pour lier les cellules, j'ai récupéré le code d'une macro enregistrée et je l'ai adapté en remplaçant range par cells, car les lignes et colonnes sont variables.

J'ai un code d'erreur 1004 , qui me dit que la méthode select de la classe range a échouée.

Voici le code :

Code:
 'insertion dans tableau
 col_tcd = 13
    ' insertion ligne
    
    Sheets("TCD1").Cells(ligne, 3).Value = ComboBox1.Value
    
    'relier cellules résultats
    
    For itcd = 1 To 28
    Sheets("TCD1").Cells(ligne, col_tcd).Select '====> l'erreur ce produit ici
    ActiveCell.FormulaR1C1 = "=RésultatsD1!RC[9]"
    
    col_tcd = col_tcd + 24
    Next itcd

Merci pour votre aide:cool:
 

gilbert_RGI

XLDnaute Barbatruc
Re : VBA : lier deux cellules sur des feuilles différentes

j'ai fait ceci et il ne ressort pas d'erreur

VB:
Sub test()
    ligne = 1
    col_tcd = 13
    For itcd = 1 To 28
        With Sheets("TCD1")
        .Cells(ligne, col_tcd).Select    '====> l'erreur ce produit ici
        ActiveCell.FormulaR1C1 = "=RésultatsD1!RC[9]"
        End With
        col_tcd = col_tcd + 24
    Next itcd
    MsgBox col_tcd
End Sub
 

cyrikou

XLDnaute Occasionnel
Re : VBA : lier deux cellules sur des feuilles différentes

Merci mais cela m'affiche le même message d'erreur.
Si j'enlève le . devant cells, cela fonctionne mais tout ce passe sur la feuille active de l'userform. Ce qui est un peu normal car pour chaque itération il faut que je reste sur la feuille TCD1 et en fait elle se désélectionne.

Je dois lier des cellules de la feuille "RésultatsD1" à la feuille TCD1.

La ligne reste la même mais sur TCD1 les colonnes sont contiguees, et sur résultats D1, la référence les colonnes sont espacées.
Je vais essayer de bâtir un code et je le mettrai en ligne si il ne fonctionne pas.
;)
 

cyrikou

XLDnaute Occasionnel
Re : VBA : lier deux cellules sur des feuilles différentes

Voilà un code qui devrai fonctionner.

Code:
    col_tcd = 5
    ligne =22
    ir = 9
    For i = 1 To 28
    Sheets("TCD1").Select
    Cells(ligne, col_tcd).Select
    ActiveCell.FormulaR1C1 = "=RésultatsD1!RC[ir] '===> l'erreur ce situe ici
    col_tcd = col_tcd + 1
    ir = ir + 23
    Next i

Je ne sais pas si on peut mettre en variable la référence entre les [] à la base c'est une valeur entière (9) au départ.
 

Discussions similaires

Réponses
2
Affichages
147

Statistiques des forums

Discussions
312 184
Messages
2 086 006
Membres
103 088
dernier inscrit
Psodam