Le saviez vous ? moi non !!! pour "étirer" une formule ..
J' ai découvert une suggestion de Serge le 14 février 2004 :
**** début de citation
Salut Plouf,
Voici une suggestion :
Va dans la «zone Nom», juste à gauche de la
barre de formules. Écris a1:A20000, ta plage
sera sélectionnée automatiquement.
Entre alors ta formule, par exemple =B1+C1,
et valide par Ctrl+Entrée.
Serge
**** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule()
'essai, en colonne A4:Ax une série de valeurs qui sont ajoutées de
la valeur B1 en Colonne B
Ligne = Range("A65536").End(xlUp).Row
Range("B4").Select
Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C"
Selection.FormulaR1C1 = "=RC[-1]+R1C2"
Range("D4").Select ' Changer de colonne avec nouvelle formule
Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C"
Selection.FormulaR1C1 = "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je suis
particulièrement ravi de dire merci à Serge !
Peut être est-il possible d'accélérer ..... pour moi c'est le niveau
supérieur ;)
Cordialement
Gérard
| comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
C'est impossible en utilisant les crochets, ce type de syntaxe ne tolère pas de variables! Il faudrait que tu aies recours à sa petite soeur "Evaluate" et pour ce type d'usage, ce serait pour le moins singulier.
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news: % Bonsoir Robert,
Merci, c'est plus court et encore plus facile à intégrer, l'exécution est très rapide (sur 60000 lignes) En revanche comment se comporte la ressource mémoire dans le cas de plusieurs colonnes avec différentes formules ? Il me semble que le End With "libère" cette resource, mais pas certain de moi. J'ai un trou (!) comment remplacer [G5:G10] par G5:G" & dernière ligne) ? à l'image de Range("G5:" & Range("G65536")..... Merci d'avance Cordialement Gérard
"Herdet" a écrit dans le message de news:%23B7Wj$
Bonsoir Denis et Gérard, Dans le genre court on peut aussi écrire Sub test() [G5:G10] = "=A" & [G5:G10].Row & "+$B$1" End Sub
Salutations Robert
"michdenis" a écrit dans le message de news: %
Remarque que ceci était suffisant :
With Range("G5:G10") .Formula = "=A" & .Item(1).Row & "+$B$1" End With
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir Denis
C'est bien l'équivalent !
Long est le chemin qu'il me reste à parcourir pour seulement espérer apercevoir au loin ta maîtrise du sujet VBA !
Cordialement
Gérard
"michdenis" a écrit dans le message de news:%
Bonjour G.
Ce que tu proposes est-ce l'équivalent de ceci :
Dim Rg As Range Set Rg = Range("G5:G10") Rg.Formula = "=A" & Rg.Item(1).Row & "+$B$1"
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir à toute et à tous
Le saviez vous ? moi non !!! pour "étirer" une formule .. J' ai découvert une suggestion de Serge le 14 février 2004 : **** début de citation Salut Plouf, Voici une suggestion : Va dans la «zone Nom», juste à gauche de la barre de formules. Écris a1:A20000, ta plage sera sélectionnée automatiquement. Entre alors ta formule, par exemple ±+C1, et valide par Ctrl+Entrée. Serge **** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule() 'essai, en colonne A4:Ax une série de valeurs qui sont ajoutées de la valeur B1 en Colonne B Ligne = Range("A65536").End(xlUp).Row Range("B4").Select Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 = "=RC[-1]+R1C2" Range("D4").Select ' Changer de colonne avec nouvelle formule Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je suis particulièrement ravi de dire merci à Serge ! Peut être est-il possible d'accélérer ..... pour moi c'est le niveau supérieur ;) Cordialement Gérard
Bonour G. L@rumeur,
| comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
C'est impossible en utilisant les crochets, ce type de syntaxe ne tolère pas de variables! Il faudrait que tu aies recours à sa
petite soeur "Evaluate" et pour ce type d'usage, ce serait pour le moins singulier.
Salutations!
"G. L@rumeur" <sugere~KillPub~@online.fr> a écrit dans le message de news: %23uLjFY85FHA.1464@tk2msftngp13.phx.gbl...
Bonsoir Robert,
Merci, c'est plus court et encore plus facile à intégrer, l'exécution est
très rapide (sur 60000 lignes)
En revanche comment se comporte la ressource mémoire dans le cas de
plusieurs colonnes avec différentes formules ?
Il me semble que le End With "libère" cette resource, mais pas certain de
moi.
J'ai un trou (!) comment remplacer [G5:G10] par G5:G" & dernière ligne) ? à
l'image de Range("G5:" & Range("G65536").....
Merci d'avance
Cordialement
Gérard
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de
news:%23B7Wj$65FHA.3296@TK2MSFTNGP09.phx.gbl...
Bonsoir Denis et Gérard,
Dans le genre court on peut aussi écrire
Sub test()
[G5:G10] = "=A" & [G5:G10].Row & "+$B$1"
End Sub
Salutations
Robert
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23OGOtsv5FHA.4036@TK2MSFTNGP11.phx.gbl...
Remarque que ceci était suffisant :
With Range("G5:G10")
.Formula = "=A" & .Item(1).Row & "+$B$1"
End With
Salutations!
"G. L@rumeur" <sugere~KillPub~@online.fr> a écrit dans le message de
news:
Long est le chemin qu'il me reste à parcourir pour seulement espérer
apercevoir au loin ta maîtrise du sujet VBA !
Cordialement
Gérard
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23Zacaev5FHA.2888@tk2msftngp13.phx.gbl...
Bonjour G. L@rumeur.
Ce que tu proposes est-ce l'équivalent de ceci :
Dim Rg As Range
Set Rg = Range("G5:G10")
Rg.Formula = "=A" & Rg.Item(1).Row & "+$B$1"
Salutations!
"G. L@rumeur" <sugere~KillPub~@online.fr> a écrit dans le message de
news:
u244NYv5FHA.2364@TK2MSFTNGP12.phx.gbl...
Bonsoir à toute et à tous
Le saviez vous ? moi non !!! pour "étirer" une formule ..
J' ai découvert une suggestion de Serge le 14 février 2004 :
**** début de citation
Salut Plouf,
Voici une suggestion :
Va dans la «zone Nom», juste à gauche de la
barre de formules. Écris a1:A20000, ta plage
sera sélectionnée automatiquement.
Entre alors ta formule, par exemple ±+C1,
et valide par Ctrl+Entrée.
Serge
**** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule()
'essai, en colonne A4:Ax une série de valeurs qui sont ajoutées
de
la valeur B1 en Colonne B
Ligne = Range("A65536").End(xlUp).Row
Range("B4").Select
Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C"
Selection.FormulaR1C1 = "=RC[-1]+R1C2"
Range("D4").Select ' Changer de colonne avec nouvelle formule
Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C"
Selection.FormulaR1C1 "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je
suis
particulièrement ravi de dire merci à Serge !
Peut être est-il possible d'accélérer ..... pour moi c'est le niveau
supérieur ;)
Cordialement
Gérard
| comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
C'est impossible en utilisant les crochets, ce type de syntaxe ne tolère pas de variables! Il faudrait que tu aies recours à sa petite soeur "Evaluate" et pour ce type d'usage, ce serait pour le moins singulier.
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news: % Bonsoir Robert,
Merci, c'est plus court et encore plus facile à intégrer, l'exécution est très rapide (sur 60000 lignes) En revanche comment se comporte la ressource mémoire dans le cas de plusieurs colonnes avec différentes formules ? Il me semble que le End With "libère" cette resource, mais pas certain de moi. J'ai un trou (!) comment remplacer [G5:G10] par G5:G" & dernière ligne) ? à l'image de Range("G5:" & Range("G65536")..... Merci d'avance Cordialement Gérard
"Herdet" a écrit dans le message de news:%23B7Wj$
Bonsoir Denis et Gérard, Dans le genre court on peut aussi écrire Sub test() [G5:G10] = "=A" & [G5:G10].Row & "+$B$1" End Sub
Salutations Robert
"michdenis" a écrit dans le message de news: %
Remarque que ceci était suffisant :
With Range("G5:G10") .Formula = "=A" & .Item(1).Row & "+$B$1" End With
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir Denis
C'est bien l'équivalent !
Long est le chemin qu'il me reste à parcourir pour seulement espérer apercevoir au loin ta maîtrise du sujet VBA !
Cordialement
Gérard
"michdenis" a écrit dans le message de news:%
Bonjour G.
Ce que tu proposes est-ce l'équivalent de ceci :
Dim Rg As Range Set Rg = Range("G5:G10") Rg.Formula = "=A" & Rg.Item(1).Row & "+$B$1"
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir à toute et à tous
Le saviez vous ? moi non !!! pour "étirer" une formule .. J' ai découvert une suggestion de Serge le 14 février 2004 : **** début de citation Salut Plouf, Voici une suggestion : Va dans la «zone Nom», juste à gauche de la barre de formules. Écris a1:A20000, ta plage sera sélectionnée automatiquement. Entre alors ta formule, par exemple ±+C1, et valide par Ctrl+Entrée. Serge **** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule() 'essai, en colonne A4:Ax une série de valeurs qui sont ajoutées de la valeur B1 en Colonne B Ligne = Range("A65536").End(xlUp).Row Range("B4").Select Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 = "=RC[-1]+R1C2" Range("D4").Select ' Changer de colonne avec nouvelle formule Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je suis particulièrement ravi de dire merci à Serge ! Peut être est-il possible d'accélérer ..... pour moi c'est le niveau supérieur ;) Cordialement Gérard
G. L
Bonjour Denis, Merci pour cette info. Conclusion : Cette formule ne convient pas dans le cas que je voulais résoudre. Alors que ta proposition avec With est en place et répond parfaitement. Merci encore Cordialement Gérard
"michdenis" a écrit dans le message de news:OzQWUQ%
Bonour G. ,
| comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
C'est impossible en utilisant les crochets, ce type de syntaxe ne tolère pas de variables! Il faudrait que tu aies recours à sa
petite soeur "Evaluate" et pour ce type d'usage, ce serait pour le moins singulier.
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news: %
Bonsoir Robert,
Merci, c'est plus court et encore plus facile à intégrer, l'exécution est très rapide (sur 60000 lignes) En revanche comment se comporte la ressource mémoire dans le cas de plusieurs colonnes avec différentes formules ? Il me semble que le End With "libère" cette resource, mais pas certain de moi. J'ai un trou (!) comment remplacer [G5:G10] par G5:G" & dernière ligne) ? à
l'image de Range("G5:" & Range("G65536")..... Merci d'avance Cordialement Gérard
"Herdet" a écrit dans le message de news:%23B7Wj$
Bonsoir Denis et Gérard, Dans le genre court on peut aussi écrire Sub test() [G5:G10] = "=A" & [G5:G10].Row & "+$B$1" End Sub
Salutations Robert
"michdenis" a écrit dans le message de news: %
Remarque que ceci était suffisant :
With Range("G5:G10") .Formula = "=A" & .Item(1).Row & "+$B$1" End With
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir Denis
C'est bien l'équivalent !
Long est le chemin qu'il me reste à parcourir pour seulement espérer apercevoir au loin ta maîtrise du sujet VBA !
Cordialement
Gérard
"michdenis" a écrit dans le message de news:%
Bonjour G.
Ce que tu proposes est-ce l'équivalent de ceci :
Dim Rg As Range Set Rg = Range("G5:G10") Rg.Formula = "=A" & Rg.Item(1).Row & "+$B$1"
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir à toute et à tous
Le saviez vous ? moi non !!! pour "étirer" une formule .. J' ai découvert une suggestion de Serge le 14 février 2004 : **** début de citation Salut Plouf, Voici une suggestion : Va dans la «zone Nom», juste à gauche de la barre de formules. Écris a1:A20000, ta plage sera sélectionnée automatiquement. Entre alors ta formule, par exemple ±+C1, et valide par Ctrl+Entrée. Serge **** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule() 'essai, en colonne A4:Ax une série de valeurs qui sont ajoutées
de la valeur B1 en Colonne B Ligne = Range("A65536").End(xlUp).Row Range("B4").Select Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 = "=RC[-1]+R1C2" Range("D4").Select ' Changer de colonne avec nouvelle formule Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 > "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je suis particulièrement ravi de dire merci à Serge ! Peut être est-il possible d'accélérer ..... pour moi c'est le niveau supérieur ;) Cordialement Gérard
Bonjour Denis,
Merci pour cette info.
Conclusion : Cette formule ne convient pas dans le cas que je voulais
résoudre. Alors que ta proposition avec With est en place et répond
parfaitement.
Merci encore
Cordialement
Gérard
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OzQWUQ%235FHA.2192@TK2MSFTNGP14.phx.gbl...
Bonour G. L@rumeur,
| comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
C'est impossible en utilisant les crochets, ce type de syntaxe ne tolère
pas de variables! Il faudrait que tu aies recours à sa
petite soeur "Evaluate" et pour ce type d'usage, ce serait pour le moins
singulier.
Salutations!
"G. L@rumeur" <sugere~KillPub~@online.fr> a écrit dans le message de news:
%23uLjFY85FHA.1464@tk2msftngp13.phx.gbl...
Bonsoir Robert,
Merci, c'est plus court et encore plus facile à intégrer, l'exécution est
très rapide (sur 60000 lignes)
En revanche comment se comporte la ressource mémoire dans le cas de
plusieurs colonnes avec différentes formules ?
Il me semble que le End With "libère" cette resource, mais pas certain de
moi.
J'ai un trou (!) comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
à
l'image de Range("G5:" & Range("G65536").....
Merci d'avance
Cordialement
Gérard
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de
news:%23B7Wj$65FHA.3296@TK2MSFTNGP09.phx.gbl...
Bonsoir Denis et Gérard,
Dans le genre court on peut aussi écrire
Sub test()
[G5:G10] = "=A" & [G5:G10].Row & "+$B$1"
End Sub
Salutations
Robert
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23OGOtsv5FHA.4036@TK2MSFTNGP11.phx.gbl...
Remarque que ceci était suffisant :
With Range("G5:G10")
.Formula = "=A" & .Item(1).Row & "+$B$1"
End With
Salutations!
"G. L@rumeur" <sugere~KillPub~@online.fr> a écrit dans le message de
news:
Long est le chemin qu'il me reste à parcourir pour seulement espérer
apercevoir au loin ta maîtrise du sujet VBA !
Cordialement
Gérard
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23Zacaev5FHA.2888@tk2msftngp13.phx.gbl...
Bonjour G. L@rumeur.
Ce que tu proposes est-ce l'équivalent de ceci :
Dim Rg As Range
Set Rg = Range("G5:G10")
Rg.Formula = "=A" & Rg.Item(1).Row & "+$B$1"
Salutations!
"G. L@rumeur" <sugere~KillPub~@online.fr> a écrit dans le message de
news:
u244NYv5FHA.2364@TK2MSFTNGP12.phx.gbl...
Bonsoir à toute et à tous
Le saviez vous ? moi non !!! pour "étirer" une formule ..
J' ai découvert une suggestion de Serge le 14 février 2004 :
**** début de citation
Salut Plouf,
Voici une suggestion :
Va dans la «zone Nom», juste à gauche de la
barre de formules. Écris a1:A20000, ta plage
sera sélectionnée automatiquement.
Entre alors ta formule, par exemple ±+C1,
et valide par Ctrl+Entrée.
Serge
**** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule()
'essai, en colonne A4:Ax une série de valeurs qui sont
ajoutées
de
la valeur B1 en Colonne B
Ligne = Range("A65536").End(xlUp).Row
Range("B4").Select
Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C"
Selection.FormulaR1C1 = "=RC[-1]+R1C2"
Range("D4").Select ' Changer de colonne avec nouvelle formule
Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C"
Selection.FormulaR1C1 > "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je
suis
particulièrement ravi de dire merci à Serge !
Peut être est-il possible d'accélérer ..... pour moi c'est le niveau
supérieur ;)
Cordialement
Gérard
Bonjour Denis, Merci pour cette info. Conclusion : Cette formule ne convient pas dans le cas que je voulais résoudre. Alors que ta proposition avec With est en place et répond parfaitement. Merci encore Cordialement Gérard
"michdenis" a écrit dans le message de news:OzQWUQ%
Bonour G. ,
| comment remplacer [G5:G10] par G5:G" & dernière ligne) ?
C'est impossible en utilisant les crochets, ce type de syntaxe ne tolère pas de variables! Il faudrait que tu aies recours à sa
petite soeur "Evaluate" et pour ce type d'usage, ce serait pour le moins singulier.
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news: %
Bonsoir Robert,
Merci, c'est plus court et encore plus facile à intégrer, l'exécution est très rapide (sur 60000 lignes) En revanche comment se comporte la ressource mémoire dans le cas de plusieurs colonnes avec différentes formules ? Il me semble que le End With "libère" cette resource, mais pas certain de moi. J'ai un trou (!) comment remplacer [G5:G10] par G5:G" & dernière ligne) ? à
l'image de Range("G5:" & Range("G65536")..... Merci d'avance Cordialement Gérard
"Herdet" a écrit dans le message de news:%23B7Wj$
Bonsoir Denis et Gérard, Dans le genre court on peut aussi écrire Sub test() [G5:G10] = "=A" & [G5:G10].Row & "+$B$1" End Sub
Salutations Robert
"michdenis" a écrit dans le message de news: %
Remarque que ceci était suffisant :
With Range("G5:G10") .Formula = "=A" & .Item(1).Row & "+$B$1" End With
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir Denis
C'est bien l'équivalent !
Long est le chemin qu'il me reste à parcourir pour seulement espérer apercevoir au loin ta maîtrise du sujet VBA !
Cordialement
Gérard
"michdenis" a écrit dans le message de news:%
Bonjour G.
Ce que tu proposes est-ce l'équivalent de ceci :
Dim Rg As Range Set Rg = Range("G5:G10") Rg.Formula = "=A" & Rg.Item(1).Row & "+$B$1"
Salutations!
"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir à toute et à tous
Le saviez vous ? moi non !!! pour "étirer" une formule .. J' ai découvert une suggestion de Serge le 14 février 2004 : **** début de citation Salut Plouf, Voici une suggestion : Va dans la «zone Nom», juste à gauche de la barre de formules. Écris a1:A20000, ta plage sera sélectionnée automatiquement. Entre alors ta formule, par exemple ±+C1, et valide par Ctrl+Entrée. Serge **** fin de citation
Que j'ai (converti) en VBA comme ceci :
Sub Etire_Formule() 'essai, en colonne A4:Ax une série de valeurs qui sont ajoutées
de la valeur B1 en Colonne B Ligne = Range("A65536").End(xlUp).Row Range("B4").Select Application.Goto Reference:="R4C2:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 = "=RC[-1]+R1C2" Range("D4").Select ' Changer de colonne avec nouvelle formule Application.Goto Reference:="R4C4:R[" & Ligne - 4 & "]C" Selection.FormulaR1C1 > "=IF(RC[-1]>0,(RC[-3]+RC[-2])*RC[-1],0)"
End Sub
Je recherchai une méthode rapide et simple depuis si longtemps que je suis particulièrement ravi de dire merci à Serge ! Peut être est-il possible d'accélérer ..... pour moi c'est le niveau supérieur ;) Cordialement Gérard