Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Objet range VBA

Jass932

XLDnaute Nouveau
Bonjour,

je n'arrive pas à insérer un range d'une autre feuille dans la boucle souligné. pourriez-vous m'aider? dans ma formule il y a deux ranges à insérer. les datas se trouvent sur une autre feuille (data).

Private Sub CommandButton1_Click()
Range("C:Z") = ""
nombreserie = Cells(3, 2)
Taille = Cells(2, 2)

Range("C:Z") = ""
nombreserie = Cells(3, 2)
Taille = Cells(2, 2)

Sheets("DATA").Activate

For i = 1 To nombreserie
Sheets("resultat").Cells(2, i + 4) = Sheets("DATA").Cells(1, 1 + i)
Sheets("resultat").Cells(i + 2, 4) = Sheets("DATA").Cells(1, 1 + i)
Sheets("resultat").Cells(6 + nombreserie, 4 + i) = Sheets("DATA").Cells(1, 1 + i)
Sheets("resultat").Cells(i + 6 + nombreserie, 4) = Sheets("DATA").Cells(1, 1 + i)
Next

For j = 1 To nombreserie
For i = 1 To nombreserie
Cells(2 + j, i + 4) = macov(Sheets("DATA").Range(Cells(2, 1 + j), Cells(Taille, 1 + j)), Sheets("DATA").Range(Cells(2, 1 + i), Cells(Taille, 1 + i)))
Cells(6 + j + nombreserie, i + 4) = macorr(Sheets("DATA").Range(Cells(2, 1 + j), Cells(Taille, 1 + j)), Sheets("DATA").Range(Cells(2, 1 + i), Cells(Taille, 1 + i)))
Next
Next
 

Phil69970

XLDnaute Barbatruc
Bonjour @Jass932

Que veux dire ceci ?


@Phil69970
 

Jass932

XLDnaute Nouveau
Bonjour @Jass932

Que veux dire ceci ?



@Phil69970
Bonjour,

Sur la feuille data j ai plusieurs données. En appliquant la forme j'obtiens la covariance entre chacune des données. Le but de cette boucle est d'obtenir un tableau avec les résultats.
C'est pour un devoir je n'ai pas le droit d utilise les worksheet.function voila pourquoi je dois passer par une formule faite maison.
 

Jass932

XLDnaute Nouveau
Oui c'est bien ça
Ma formule perso necessite 2 ranges qui sont les données contenu sur ma feuille data. Le probleme est que dans ma boucle les deux ranges ne sont pas pris en compte. Quand je lance le code, je recois une erreur. J'imagine que le code ne reconnait pas les deux range. Mais je n'arrives pas à trouver le moyen pour que le code reconnaisse mes deux range pour pouvoir appliquer ma formule dessus.
 

TooFatBoy

XLDnaute Barbatruc
Un code ça ne reconnait rien, ça fait juste ce qu'on lui dit de faire.

Vu d'ici c'est juste pas évident...
 

TooFatBoy

XLDnaute Barbatruc
La syntaxe a utilisé est bien Sheets(Nom_de_la_feuille).range(cells (x,y),cells (x,y)) ?
Normalement OUI.

Mais, si je ne me trompe, ça dépend de la feuille active.
Je pense que si les Cells(x,y) sont dans une autre feuille que la feuille active, alors il faut préciser la feuille pour les Cells.


Donc tu utilises :
VB:
Sheets(Nom_de_la_feuille).range(Sheets(Nom_de_la_feuille).cells (x,y),Sheets(Nom_de_la_feuille).cells (x,y))
ou
VB:
With Sheets(Nom_de_la_feuille)
    .range(.cells (x,y),.cells (x,y))
End With
 
Dernière édition:

Jass932

XLDnaute Nouveau
Bonjour, je viens de mettre à jour le code et tout fonctionne, merci de votre aide.
 

Discussions similaires

Réponses
11
Affichages
646
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…