Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par
précaution.
J'améliore un module existant.
Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX").
Pour les paramètres simples, pas de difficulté.
Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants :
Cells(PlaceLigne, PlaceColonne) = "PARAMETRES"
Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS"
Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne"
Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie
Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes :
Range(PlaceColonne & PlaceLigne) = "PARAMETRES"
Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS"
Range(PlaceColonne & PlaceLigne + 1) = "Moyenne"
Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie
Range(PlaceColonne & PlaceLigne + 2) = "Ecart"
sachant que PlaceColonne et PlaceLigne sont des variables.
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
poy-poy
Bonjour Joel,
Je vois 2 problèmes dans tes formules : Premièrement, range nécessite d'avoir les colonnes en A...Z et non en nombre. Il va donc falloire associer le nom alphabétique des colonnes à tes plages. tu peux aller le cherche par un cells(plagecolonne,plageligne).address et prendre que la colonne left(right()) ou en entier et ne pas rajouter la ligne ensuite. Ou encore par un match ou tu prépares toutes entrées...
Deuxièmement, tu ne peux pas rajouter +1, range ne sait pas faire de calcul. Donc sit tu le calcules avant ou pendant [ evaluate(plagligne+1)], soit tu fais un offset (0,1) sur ton range.
Au final, cela vaut'il vraiment le coup ? Si c'est juste pour rendre ton code plus lisible, cela ne va en fait que le compliquer... Cela donnerait un truc du genre (en plus si tes colonnes dépassent Z, faut faire le test pour savoir combien faut garder de caractères avec le left):
range(left(right(cells(1,plagecolonne).address,3),1) & plageligne).offset(0,1).select ou range(cells(plageligne+1,plagecolonne).address,3),1)).select ou range(plagecol & evaluate(plageligne+1)).select
avec plagecol = evaluate("match(""" & plagecolonne & """, {1,5,2},{""A"",""E"",""B""})")
Toujours intéressais ?
Cordialement Benjamin
Bonsoir,
Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par précaution.
J'améliore un module existant. Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX"). Pour les paramètres simples, pas de difficulté. Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants : Cells(PlaceLigne, PlaceColonne) = "PARAMETRES" Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS" Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne" Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes : Range(PlaceColonne & PlaceLigne) = "PARAMETRES" Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS" Range(PlaceColonne & PlaceLigne + 1) = "Moyenne" Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie Range(PlaceColonne & PlaceLigne + 2) = "Ecart" sachant que PlaceColonne et PlaceLigne sont des variables.
Merci
Bonjour Joel,
Je vois 2 problèmes dans tes formules :
Premièrement, range nécessite d'avoir les colonnes en A...Z et non en
nombre. Il va donc falloire associer le nom alphabétique des colonnes à tes
plages. tu peux aller le cherche par un
cells(plagecolonne,plageligne).address et prendre que la colonne
left(right()) ou en entier et ne pas rajouter la ligne ensuite. Ou encore par
un match ou tu prépares toutes entrées...
Deuxièmement, tu ne peux pas rajouter +1, range ne sait pas faire de calcul.
Donc sit tu le calcules avant ou pendant [ evaluate(plagligne+1)], soit tu
fais un offset (0,1) sur ton range.
Au final, cela vaut'il vraiment le coup ? Si c'est juste pour rendre ton
code plus lisible, cela ne va en fait que le compliquer...
Cela donnerait un truc du genre (en plus si tes colonnes dépassent Z, faut
faire le test pour savoir combien faut garder de caractères avec le left):
range(left(right(cells(1,plagecolonne).address,3),1) &
plageligne).offset(0,1).select
ou
range(cells(plageligne+1,plagecolonne).address,3),1)).select
ou
range(plagecol & evaluate(plageligne+1)).select
avec plagecol = evaluate("match(""" & plagecolonne & """,
{1,5,2},{""A"",""E"",""B""})")
Toujours intéressais ?
Cordialement
Benjamin
Bonsoir,
Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par
précaution.
J'améliore un module existant.
Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX").
Pour les paramètres simples, pas de difficulté.
Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants :
Cells(PlaceLigne, PlaceColonne) = "PARAMETRES"
Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS"
Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne"
Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie
Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes :
Range(PlaceColonne & PlaceLigne) = "PARAMETRES"
Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS"
Range(PlaceColonne & PlaceLigne + 1) = "Moyenne"
Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie
Range(PlaceColonne & PlaceLigne + 2) = "Ecart"
sachant que PlaceColonne et PlaceLigne sont des variables.
Je vois 2 problèmes dans tes formules : Premièrement, range nécessite d'avoir les colonnes en A...Z et non en nombre. Il va donc falloire associer le nom alphabétique des colonnes à tes plages. tu peux aller le cherche par un cells(plagecolonne,plageligne).address et prendre que la colonne left(right()) ou en entier et ne pas rajouter la ligne ensuite. Ou encore par un match ou tu prépares toutes entrées...
Deuxièmement, tu ne peux pas rajouter +1, range ne sait pas faire de calcul. Donc sit tu le calcules avant ou pendant [ evaluate(plagligne+1)], soit tu fais un offset (0,1) sur ton range.
Au final, cela vaut'il vraiment le coup ? Si c'est juste pour rendre ton code plus lisible, cela ne va en fait que le compliquer... Cela donnerait un truc du genre (en plus si tes colonnes dépassent Z, faut faire le test pour savoir combien faut garder de caractères avec le left):
range(left(right(cells(1,plagecolonne).address,3),1) & plageligne).offset(0,1).select ou range(cells(plageligne+1,plagecolonne).address,3),1)).select ou range(plagecol & evaluate(plageligne+1)).select
avec plagecol = evaluate("match(""" & plagecolonne & """, {1,5,2},{""A"",""E"",""B""})")
Toujours intéressais ?
Cordialement Benjamin
Bonsoir,
Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par précaution.
J'améliore un module existant. Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX"). Pour les paramètres simples, pas de difficulté. Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants : Cells(PlaceLigne, PlaceColonne) = "PARAMETRES" Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS" Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne" Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes : Range(PlaceColonne & PlaceLigne) = "PARAMETRES" Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS" Range(PlaceColonne & PlaceLigne + 1) = "Moyenne" Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie Range(PlaceColonne & PlaceLigne + 2) = "Ecart" sachant que PlaceColonne et PlaceLigne sont des variables.
Merci
Joel.ANDRE
Merci Poy-Poy, effectivement, je vais y regarder à deux fois avant de tout compliquer.
"poy-poy" a écrit dans le message de news:
Bonjour Joel,
Je vois 2 problèmes dans tes formules : Premièrement, range nécessite d'avoir les colonnes en A...Z et non en nombre. Il va donc falloire associer le nom alphabétique des colonnes à tes
plages. tu peux aller le cherche par un cells(plagecolonne,plageligne).address et prendre que la colonne left(right()) ou en entier et ne pas rajouter la ligne ensuite. Ou encore par
un match ou tu prépares toutes entrées...
Deuxièmement, tu ne peux pas rajouter +1, range ne sait pas faire de calcul.
Donc sit tu le calcules avant ou pendant [ evaluate(plagligne+1)], soit tu fais un offset (0,1) sur ton range.
Au final, cela vaut'il vraiment le coup ? Si c'est juste pour rendre ton code plus lisible, cela ne va en fait que le compliquer... Cela donnerait un truc du genre (en plus si tes colonnes dépassent Z, faut faire le test pour savoir combien faut garder de caractères avec le left):
range(left(right(cells(1,plagecolonne).address,3),1) & plageligne).offset(0,1).select ou range(cells(plageligne+1,plagecolonne).address,3),1)).select ou range(plagecol & evaluate(plageligne+1)).select
avec plagecol = evaluate("match(""" & plagecolonne & """, {1,5,2},{""A"",""E"",""B""})")
Toujours intéressais ?
Cordialement Benjamin
Bonsoir,
Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par précaution.
J'améliore un module existant. Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX"). Pour les paramètres simples, pas de difficulté. Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants : Cells(PlaceLigne, PlaceColonne) = "PARAMETRES" Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS" Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne" Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes : Range(PlaceColonne & PlaceLigne) = "PARAMETRES" Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS" Range(PlaceColonne & PlaceLigne + 1) = "Moyenne" Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie Range(PlaceColonne & PlaceLigne + 2) = "Ecart" sachant que PlaceColonne et PlaceLigne sont des variables.
Merci
Merci Poy-Poy, effectivement, je vais y regarder à deux fois avant de tout
compliquer.
"poy-poy" <poypoy@discussions.microsoft.com> a écrit dans le message de
news:0411869A-EE96-4943-A35B-E3E689582884@microsoft.com...
Bonjour Joel,
Je vois 2 problèmes dans tes formules :
Premièrement, range nécessite d'avoir les colonnes en A...Z et non en
nombre. Il va donc falloire associer le nom alphabétique des colonnes à
tes
plages. tu peux aller le cherche par un
cells(plagecolonne,plageligne).address et prendre que la colonne
left(right()) ou en entier et ne pas rajouter la ligne ensuite. Ou encore
par
un match ou tu prépares toutes entrées...
Deuxièmement, tu ne peux pas rajouter +1, range ne sait pas faire de
calcul.
Donc sit tu le calcules avant ou pendant [ evaluate(plagligne+1)], soit tu
fais un offset (0,1) sur ton range.
Au final, cela vaut'il vraiment le coup ? Si c'est juste pour rendre ton
code plus lisible, cela ne va en fait que le compliquer...
Cela donnerait un truc du genre (en plus si tes colonnes dépassent Z, faut
faire le test pour savoir combien faut garder de caractères avec le left):
range(left(right(cells(1,plagecolonne).address,3),1) &
plageligne).offset(0,1).select
ou
range(cells(plageligne+1,plagecolonne).address,3),1)).select
ou
range(plagecol & evaluate(plageligne+1)).select
avec plagecol = evaluate("match(""" & plagecolonne & """,
{1,5,2},{""A"",""E"",""B""})")
Toujours intéressais ?
Cordialement
Benjamin
Bonsoir,
Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par
précaution.
J'améliore un module existant.
Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX").
Pour les paramètres simples, pas de difficulté.
Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants :
Cells(PlaceLigne, PlaceColonne) = "PARAMETRES"
Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS"
Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne"
Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie
Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes :
Range(PlaceColonne & PlaceLigne) = "PARAMETRES"
Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS"
Range(PlaceColonne & PlaceLigne + 1) = "Moyenne"
Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie
Range(PlaceColonne & PlaceLigne + 2) = "Ecart"
sachant que PlaceColonne et PlaceLigne sont des variables.
Merci Poy-Poy, effectivement, je vais y regarder à deux fois avant de tout compliquer.
"poy-poy" a écrit dans le message de news:
Bonjour Joel,
Je vois 2 problèmes dans tes formules : Premièrement, range nécessite d'avoir les colonnes en A...Z et non en nombre. Il va donc falloire associer le nom alphabétique des colonnes à tes
plages. tu peux aller le cherche par un cells(plagecolonne,plageligne).address et prendre que la colonne left(right()) ou en entier et ne pas rajouter la ligne ensuite. Ou encore par
un match ou tu prépares toutes entrées...
Deuxièmement, tu ne peux pas rajouter +1, range ne sait pas faire de calcul.
Donc sit tu le calcules avant ou pendant [ evaluate(plagligne+1)], soit tu fais un offset (0,1) sur ton range.
Au final, cela vaut'il vraiment le coup ? Si c'est juste pour rendre ton code plus lisible, cela ne va en fait que le compliquer... Cela donnerait un truc du genre (en plus si tes colonnes dépassent Z, faut faire le test pour savoir combien faut garder de caractères avec le left):
range(left(right(cells(1,plagecolonne).address,3),1) & plageligne).offset(0,1).select ou range(cells(plageligne+1,plagecolonne).address,3),1)).select ou range(plagecol & evaluate(plageligne+1)).select
avec plagecol = evaluate("match(""" & plagecolonne & """, {1,5,2},{""A"",""E"",""B""})")
Toujours intéressais ?
Cordialement Benjamin
Bonsoir,
Désolé, j'ai oublié l'objet dans mon précédebt message, je renvoie par précaution.
J'améliore un module existant. Pour le rendre lisible, je transforme les Cells(X,Y) en Range("YX"). Pour les paramètres simples, pas de difficulté. Par exemple Cells(3,2) devient Range("B,2")
Par contre pour les paramètres suivants : Cells(PlaceLigne, PlaceColonne) = "PARAMETRES" Cells(PlaceLigne, PlaceColonne + 1) = "VALEURS" Cells(PlaceLigne + 1, PlaceColonne) = "Moyenne" Cells(PlaceLigne + 1, PlaceColonne + 1) = MoyenneSérie Cells(PlaceLigne + 2, PlaceColonne) = "Ecart"
Est-ce que les transpositions suivantes sont correctes : Range(PlaceColonne & PlaceLigne) = "PARAMETRES" Range(PlaceColonne + 1 & PlaceLigne) = "VALEURS" Range(PlaceColonne & PlaceLigne + 1) = "Moyenne" Range(PlaceColonne + 1 & PlaceLigne + 1) = MoyenneSérie Range(PlaceColonne & PlaceLigne + 2) = "Ecart" sachant que PlaceColonne et PlaceLigne sont des variables.