Bonjour,
J'ai réalisé une simulation en excel 2007 qui implique une formule tel que
=croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je
réalise cette fonction en utilisant les "indirect"... mais sur une base de
données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd
et lent.
J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ?
J'ai essayé des "dim" mais sans succès ?
Merci de m'aider, c'est sympa de votre part.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonsoir, supposant la valeur souhaitée des variables en A1 et en A2 :
Sub varfor() Dim mAa As String, maB As String mAa = [a1] maB = [a2] ActiveCell.Formula = "=growth(" & maB & "," & mAa & ",a51)" End Sub -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "jean" a écrit dans le message de news:
Bonjour, J'ai réalisé une simulation en excel 2007 qui implique une formule tel que =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je réalise cette fonction en utilisant les "indirect"... mais sur une base de données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd et lent. J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? J'ai essayé des "dim" mais sans succès ? Merci de m'aider, c'est sympa de votre part.
-- merci ... bises à +
Bonsoir,
supposant la valeur souhaitée des variables en A1 et en A2 :
Sub varfor()
Dim mAa As String, maB As String
mAa = [a1]
maB = [a2]
ActiveCell.Formula = "=growth(" & maB & "," & mAa & ",a51)"
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"jean" <jean.vorstermans@skynet.be> a écrit dans le message de
news:AB9FADB9-5A82-4082-AEFA-3BA30EA85BA1@microsoft.com...
Bonjour,
J'ai réalisé une simulation en excel 2007 qui implique une formule tel que
=croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable
je
réalise cette fonction en utilisant les "indirect"... mais sur une base
de
données de plus de 5000 lignes et de nombreuses autres fonctions, c'est
lourd
et lent.
J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ?
J'ai essayé des "dim" mais sans succès ?
Merci de m'aider, c'est sympa de votre part.
Bonsoir, supposant la valeur souhaitée des variables en A1 et en A2 :
Sub varfor() Dim mAa As String, maB As String mAa = [a1] maB = [a2] ActiveCell.Formula = "=growth(" & maB & "," & mAa & ",a51)" End Sub -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "jean" a écrit dans le message de news:
Bonjour, J'ai réalisé une simulation en excel 2007 qui implique une formule tel que =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je réalise cette fonction en utilisant les "indirect"... mais sur une base de données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd et lent. J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? J'ai essayé des "dim" mais sans succès ? Merci de m'aider, c'est sympa de votre part.
-- merci ... bises à +
MichDenis
Bonjour Jean,
Il y a ceci :
'------------------------------------- Sub test() Dim Sh As Worksheet 'Variable représentant la feuille où sont tes formules Set Sh = Worksheets("Feuil1") 'Nom de la feuille With Sh With .Range("L50") 'les cellules ayant des .Address(0,0) représente 'des adresses relatives... sans les (0,0), tu auras 'des adresse absolues ... .Formula = "=growth(" & Sh.Range("B50").Address(0, 0) & _ ":" & Sh.Range("b60").Address(0, 0) & "," & _ Sh.Range("a50").Address(0, 0) & ":" & _ Sh.Range("a60").Address(0, 0) & "," _ & Sh.Range("a51").Address & ")" 'Le 8 représente le nombre de cellules vers 'le bas où tu veux copier les formules .Resize(8).FillDown End With End With
End Sub '-------------------------------------
"jean" a écrit dans le message de groupe de discussion :
Bonjour, J'ai réalisé une simulation en excel 2007 qui implique une formule tel que =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je réalise cette fonction en utilisant les "indirect"... mais sur une base de données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd et lent. J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? J'ai essayé des "dim" mais sans succès ? Merci de m'aider, c'est sympa de votre part.
-- merci ... bises à +
Bonjour Jean,
Il y a ceci :
'-------------------------------------
Sub test()
Dim Sh As Worksheet
'Variable représentant la feuille où sont tes formules
Set Sh = Worksheets("Feuil1") 'Nom de la feuille
With Sh
With .Range("L50")
'les cellules ayant des .Address(0,0) représente
'des adresses relatives... sans les (0,0), tu auras
'des adresse absolues ...
.Formula = "=growth(" & Sh.Range("B50").Address(0, 0) & _
":" & Sh.Range("b60").Address(0, 0) & "," & _
Sh.Range("a50").Address(0, 0) & ":" & _
Sh.Range("a60").Address(0, 0) & "," _
& Sh.Range("a51").Address & ")"
'Le 8 représente le nombre de cellules vers
'le bas où tu veux copier les formules
.Resize(8).FillDown
End With
End With
End Sub
'-------------------------------------
"jean" <jean.vorstermans@skynet.be> a écrit dans le message de groupe de discussion :
AB9FADB9-5A82-4082-AEFA-3BA30EA85BA1@microsoft.com...
Bonjour,
J'ai réalisé une simulation en excel 2007 qui implique une formule tel que
=croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je
réalise cette fonction en utilisant les "indirect"... mais sur une base de
données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd
et lent.
J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ?
J'ai essayé des "dim" mais sans succès ?
Merci de m'aider, c'est sympa de votre part.
'------------------------------------- Sub test() Dim Sh As Worksheet 'Variable représentant la feuille où sont tes formules Set Sh = Worksheets("Feuil1") 'Nom de la feuille With Sh With .Range("L50") 'les cellules ayant des .Address(0,0) représente 'des adresses relatives... sans les (0,0), tu auras 'des adresse absolues ... .Formula = "=growth(" & Sh.Range("B50").Address(0, 0) & _ ":" & Sh.Range("b60").Address(0, 0) & "," & _ Sh.Range("a50").Address(0, 0) & ":" & _ Sh.Range("a60").Address(0, 0) & "," _ & Sh.Range("a51").Address & ")" 'Le 8 représente le nombre de cellules vers 'le bas où tu veux copier les formules .Resize(8).FillDown End With End With
End Sub '-------------------------------------
"jean" a écrit dans le message de groupe de discussion :
Bonjour, J'ai réalisé une simulation en excel 2007 qui implique une formule tel que =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je réalise cette fonction en utilisant les "indirect"... mais sur une base de données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd et lent. J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? J'ai essayé des "dim" mais sans succès ? Merci de m'aider, c'est sympa de votre part.
-- merci ... bises à +
jean
wouaaahhhh et même que ça marche ! (je ne sais comment, mais ça marche!!!!) merci merci....
-- merci ... bises à +
"Philippe.R" a écrit :
Bonsoir, supposant la valeur souhaitée des variables en A1 et en A2 :
Sub varfor() Dim mAa As String, maB As String mAa = [a1] maB = [a2] ActiveCell.Formula = "=growth(" & maB & "," & mAa & ",a51)" End Sub -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "jean" a écrit dans le message de news: > Bonjour, > J'ai réalisé une simulation en excel 2007 qui implique une formule tel que > =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable > je > réalise cette fonction en utilisant les "indirect"... mais sur une base > de > données de plus de 5000 lignes et de nombreuses autres fonctions, c'est > lourd > et lent. > J'essaye donc de faire la même chose avec une macro vba en utilisant : > > Range("L50").Select > ActiveCell.Formula = "=growth(B50:b60,a50:a60,a51)" > Range("L50:L58").Select > Selection.FillDown > > qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? > J'ai essayé des "dim" mais sans succès ? > Merci de m'aider, c'est sympa de votre part. > > > > > -- > merci ... bises à +
wouaaahhhh et même que ça marche !
(je ne sais comment, mais ça marche!!!!)
merci merci....
--
merci ... bises à +
"Philippe.R" a écrit :
Bonsoir,
supposant la valeur souhaitée des variables en A1 et en A2 :
Sub varfor()
Dim mAa As String, maB As String
mAa = [a1]
maB = [a2]
ActiveCell.Formula = "=growth(" & maB & "," & mAa & ",a51)"
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"jean" <jean.vorstermans@skynet.be> a écrit dans le message de
news:AB9FADB9-5A82-4082-AEFA-3BA30EA85BA1@microsoft.com...
> Bonjour,
> J'ai réalisé une simulation en excel 2007 qui implique une formule tel que
> =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable
> je
> réalise cette fonction en utilisant les "indirect"... mais sur une base
> de
> données de plus de 5000 lignes et de nombreuses autres fonctions, c'est
> lourd
> et lent.
> J'essaye donc de faire la même chose avec une macro vba en utilisant :
>
> Range("L50").Select
> ActiveCell.Formula = "=growth(B50:b60,a50:a60,a51)"
> Range("L50:L58").Select
> Selection.FillDown
>
> qui marche bien mais comment mettre b50, b60,a50,a60 en variable ?
> J'ai essayé des "dim" mais sans succès ?
> Merci de m'aider, c'est sympa de votre part.
>
>
>
>
> --
> merci ... bises à +
wouaaahhhh et même que ça marche ! (je ne sais comment, mais ça marche!!!!) merci merci....
-- merci ... bises à +
"Philippe.R" a écrit :
Bonsoir, supposant la valeur souhaitée des variables en A1 et en A2 :
Sub varfor() Dim mAa As String, maB As String mAa = [a1] maB = [a2] ActiveCell.Formula = "=growth(" & maB & "," & mAa & ",a51)" End Sub -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "jean" a écrit dans le message de news: > Bonjour, > J'ai réalisé une simulation en excel 2007 qui implique une formule tel que > =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable > je > réalise cette fonction en utilisant les "indirect"... mais sur une base > de > données de plus de 5000 lignes et de nombreuses autres fonctions, c'est > lourd > et lent. > J'essaye donc de faire la même chose avec une macro vba en utilisant : > > Range("L50").Select > ActiveCell.Formula = "=growth(B50:b60,a50:a60,a51)" > Range("L50:L58").Select > Selection.FillDown > > qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? > J'ai essayé des "dim" mais sans succès ? > Merci de m'aider, c'est sympa de votre part. > > > > > -- > merci ... bises à +
jean
... je n'ai pas essayé ta solution car celle de Phillipe a marché du premier coup, mais merci tout de même. -- merci ... bises à +
"MichDenis" a écrit :
Bonjour Jean,
Il y a ceci :
'------------------------------------- Sub test() Dim Sh As Worksheet 'Variable représentant la feuille où sont tes formules Set Sh = Worksheets("Feuil1") 'Nom de la feuille With Sh With .Range("L50") 'les cellules ayant des .Address(0,0) représente 'des adresses relatives... sans les (0,0), tu auras 'des adresse absolues ... .Formula = "=growth(" & Sh.Range("B50").Address(0, 0) & _ ":" & Sh.Range("b60").Address(0, 0) & "," & _ Sh.Range("a50").Address(0, 0) & ":" & _ Sh.Range("a60").Address(0, 0) & "," _ & Sh.Range("a51").Address & ")" 'Le 8 représente le nombre de cellules vers 'le bas où tu veux copier les formules .Resize(8).FillDown End With End With
End Sub '-------------------------------------
"jean" a écrit dans le message de groupe de discussion :
Bonjour, J'ai réalisé une simulation en excel 2007 qui implique une formule tel que =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je réalise cette fonction en utilisant les "indirect"... mais sur une base de données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd et lent. J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? J'ai essayé des "dim" mais sans succès ? Merci de m'aider, c'est sympa de votre part.
-- merci ... bises à +
... je n'ai pas essayé ta solution car celle de Phillipe a marché du premier
coup, mais merci tout de même.
--
merci ... bises à +
"MichDenis" a écrit :
Bonjour Jean,
Il y a ceci :
'-------------------------------------
Sub test()
Dim Sh As Worksheet
'Variable représentant la feuille où sont tes formules
Set Sh = Worksheets("Feuil1") 'Nom de la feuille
With Sh
With .Range("L50")
'les cellules ayant des .Address(0,0) représente
'des adresses relatives... sans les (0,0), tu auras
'des adresse absolues ...
.Formula = "=growth(" & Sh.Range("B50").Address(0, 0) & _
":" & Sh.Range("b60").Address(0, 0) & "," & _
Sh.Range("a50").Address(0, 0) & ":" & _
Sh.Range("a60").Address(0, 0) & "," _
& Sh.Range("a51").Address & ")"
'Le 8 représente le nombre de cellules vers
'le bas où tu veux copier les formules
.Resize(8).FillDown
End With
End With
End Sub
'-------------------------------------
"jean" <jean.vorstermans@skynet.be> a écrit dans le message de groupe de discussion :
AB9FADB9-5A82-4082-AEFA-3BA30EA85BA1@microsoft.com...
Bonjour,
J'ai réalisé une simulation en excel 2007 qui implique une formule tel que
=croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je
réalise cette fonction en utilisant les "indirect"... mais sur une base de
données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd
et lent.
J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ?
J'ai essayé des "dim" mais sans succès ?
Merci de m'aider, c'est sympa de votre part.
... je n'ai pas essayé ta solution car celle de Phillipe a marché du premier coup, mais merci tout de même. -- merci ... bises à +
"MichDenis" a écrit :
Bonjour Jean,
Il y a ceci :
'------------------------------------- Sub test() Dim Sh As Worksheet 'Variable représentant la feuille où sont tes formules Set Sh = Worksheets("Feuil1") 'Nom de la feuille With Sh With .Range("L50") 'les cellules ayant des .Address(0,0) représente 'des adresses relatives... sans les (0,0), tu auras 'des adresse absolues ... .Formula = "=growth(" & Sh.Range("B50").Address(0, 0) & _ ":" & Sh.Range("b60").Address(0, 0) & "," & _ Sh.Range("a50").Address(0, 0) & ":" & _ Sh.Range("a60").Address(0, 0) & "," _ & Sh.Range("a51").Address & ")" 'Le 8 représente le nombre de cellules vers 'le bas où tu veux copier les formules .Resize(8).FillDown End With End With
End Sub '-------------------------------------
"jean" a écrit dans le message de groupe de discussion :
Bonjour, J'ai réalisé une simulation en excel 2007 qui implique une formule tel que =croissance(b50:b60,a50:a60,a50). En mettant l'écart 50 à 60 en variable je réalise cette fonction en utilisant les "indirect"... mais sur une base de données de plus de 5000 lignes et de nombreuses autres fonctions, c'est lourd et lent. J'essaye donc de faire la même chose avec une macro vba en utilisant :
qui marche bien mais comment mettre b50, b60,a50,a60 en variable ? J'ai essayé des "dim" mais sans succès ? Merci de m'aider, c'est sympa de votre part.