× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 VBA Excel utilisation de la fonction OFFSETSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
davkinder
  Posté le 08/07/2013 @ 11:30 
Aller en bas de la page 
Nouvel astucien

Bonjour,

Alors j'ai une boucle while avec a l'interieur une formule qui contient la fonction OFFSET.

J'aimerais faire varier un des parametres de la fonction OFFSET, i, comme ceci:

ActiveCell.FormulaR1C1 = _
"=SQRT(SUMSQ(OFFSET(RC,i,-1)-RC[-1],OFFSET(RC,i,-2)-RC[-2],OFFSET(RC,i,-3)-RC[-3],OFFSET(RC,i,-4)-RC[-4],OFFSET(RC,i,-5)-RC[-5],OFFSET(RC,i,-6)-RC[-6]))"

Mais cela ne marche pas car la formule prend i en parametre et non sa valeur.

Voici la fonction complete:

Sub CalculateCalculateDistances()
Dim c As String
c = ActiveCell.Value
i = 1
Do
ActiveCell.FormulaR1C1 = _
"=SQRT(SUMSQ(OFFSET(RC,i,-1)-RC[-1],OFFSET(RC,i,-2)-RC[-2],OFFSET(RC,i,-3)-RC[-3],OFFSET(RC,i,-4)-RC[-4],OFFSET(RC,i,-5)-RC[-5],OFFSET(RC,i,-6)-RC[-6]))"
ActiveCell.Range("A1").Select
ActiveCell.Offset(-1, 0).Range("A1").Select
c = ActiveCell.Value
i = i + 1
Loop While c <> "$End"
ActiveCell.Offset(1, 1).Range("A1").Select
End Sub

Dites moi si ce nést pas clait

Merci de votre aide.

David

Publicité
ferrand
 Posté le 08/07/2013 à 13:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut,

J'aurais tendance à trouver plus économique et plus aisé de réaliser les calculs en VBA et d'affecter le résultat à la cellule voulue, plutôt que d'affecter une formule...

En tout cas, si tu affectes une formule, tu l'affectes sous forme de chaîne. Si tu insères dans ta formule la valeur d'une variable i, le i doit être hors des parties de formules entre guillemets : "=xxxxxxxxxxxx" & i & "xxxxxxxxxxxxxxxxxxx" & i &....

davkinder
 Posté le 08/07/2013 à 14:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Salut,

J'ai finalement trouve la solution, en faisant:

ActiveCell.FormulaR1C1 = _
"=SQRT(SUMSQ(OFFSET(RC," + CStr(i) + ",-1)-RC[-1],OFFSET(RC," + CStr(i) + ",-2)-RC[-2],OFFSET(RC," + CStr(i) + ",-3)-RC[-3],OFFSET(RC," + CStr(i) + ",-4)-RC[-4],OFFSET(RC," + CStr(i) + ",-5)-RC[-5],OFFSET(RC," + CStr(i) + ",-6)-RC[-6]))"

Merci

David

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
155,65 €SSD SanDisk Plus 2 To à 155,65 € livré
Valable jusqu'au 30 Novembre

Amazon Allemagne propose actuellement un coupon de réduction sur le SSD SanDisk Plus 2 To qui passe à 151,02 € (avec la TVA ajustée). Comptez 4,63 € pour la livraison en France soit un total de 155,65 € en France. Une très bonne affaire pour ce SSD très fiable et performant qui offre des débits de 530 Mo/s en lecture et 445 Mo/s en écriture. Il est garanti 3 ans. On le trouve ailleurs à partir de 220 €. 

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
18,69 €Clé USB 3.0 SanDisk Ultra Flair 128 Go à 18,69 €
Valable jusqu'au 30 Novembre

Amazon fait une promotion sur la clé USB 3.0 SanDisk Ultra Flair 128 Go qui passe à 18,69 € alors qu'on la trouve ailleurs à plus de 25 €. Cette clé USB offre des débits jusqu'à 150 Mo/s.


> Voir l'offre
180 €Smartphone 6.53 pouces Xiaomi Redmi Note 8 Pro (FHD+, 6Go/64Go) à 180 €
Valable jusqu'au 02 Décembre

Amazon fait une promotion sur le smartphone 6.53 pouces Xiaomi Redmi Note 8 Pro qui passe à 180 € livré gratuitement au lieu de 200 €. Ce smartphone dispose d'un écran 6.53 pouces FHD+ (2340x1080 pixels), un processeur 8 coeurs Helio G90T, 6 Go de mémoire, de 64 Go d'espace de stockage extensible par microSD, d'un APN 64 +8 +2 + 2 MPixels et d'un APN 20 MP avant, du bluetooh, du Wifi, d'un lecteur d'empreintes digitales. Il est compatible avec les fréquences 2G, 3G et 4G. Le tout tourne sous Android 9 avec une surcouche Xiaomi. La batterie est de haute capacité 4500 mAh et est compatible charge rapide.


> Voir l'offre

Sujets relatifs
EXCEL: Fonction DATEDIF
VBA Excel valeur en fonction de cellules
[Excel 2007] Fonction NB.SI - problème
Recherche d'une fonction dans EXCEL
Fonction "repeter" sur eXcel
fonction excel ( lien feuille)
Fonction SI Excel (Excel 2007)
(Macro Excel) Sélectionner cellule en fonction de sa couleur
excel 2010 : sélection de valeurs mensuelles en fonction du mois choisi
Limiter d'utilisation d'un fichier Excel
Plus de sujets relatifs à VBA Excel utilisation de la fonction OFFSET
 > Tous les forums > Forum Bureautique