J'ai un tableau, je veux le sélectionner, lui donner un nom, le trier et
faire des sous totaux.
Mon problème est que j'ai plusieurs fichiers différents en nombre de lignes
et je veux utiliser la même macro.
J'utilise le code suivant :
Range("A1").Select
Range("A1:" & [A1].SpecialCells(xlCellTypeLastCell).Address).Select
ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _
"='3CMCD'!R1C1:R185C10"
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Range("B1").Select
ActiveCell.FormulaR1C1 = "RACINE"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"
Range("A1").Select
Application.Goto Reference:="Database"
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Si le tableau suivant fait par exemple 220 lignes, le nom "base de données"
ne se réfère qu'à la ligne 185.
Comment rendre la définition de mon nom variable en fonction du nombre de
lignes ?
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
Elliac
Bonjour,
Il faut utiliser la méthode "Currentregion". ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _ Range("a1").CurrentRegion
Si ce n'est que pour le tri pour la peine d'avoir un champ nommé. Pour déterminer la dernière ligne du tableau, en admettant que la colonne A est toujours remplie : der=Range("A65000").End(Xlup).Row
Pour avoir le calcul sur toute la colonne B : Range("B2:b" & der) "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"
Camille
"Bruno RCSC" wrote:
Bonsoir,
Win XP, Excel 97, pas un pro de la macro.
J'ai un tableau, je veux le sélectionner, lui donner un nom, le trier et faire des sous totaux. Mon problème est que j'ai plusieurs fichiers différents en nombre de lignes et je veux utiliser la même macro. J'utilise le code suivant : Range("A1").Select Range("A1:" & [A1].SpecialCells(xlCellTypeLastCell).Address).Select ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _ "='3CMCD'!R1C1:R185C10" Columns("B:B").Select Selection.Insert Shift:=xlToRight Range("B1").Select ActiveCell.FormulaR1C1 = "RACINE" Range("B2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))" Range("A1").Select Application.Goto Reference:="Database" Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom Si le tableau suivant fait par exemple 220 lignes, le nom "base de données" ne se réfère qu'à la ligne 185. Comment rendre la définition de mon nom variable en fonction du nombre de lignes ?
Merci de votre aide.
Bonjour,
Il faut utiliser la méthode "Currentregion".
ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _
Range("a1").CurrentRegion
Si ce n'est que pour le tri pour la peine d'avoir un champ nommé.
Pour déterminer la dernière ligne du tableau, en admettant que la colonne A
est toujours remplie :
der=Range("A65000").End(Xlup).Row
Pour avoir le calcul sur toute la colonne B :
Range("B2:b" & der) "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"
Camille
"Bruno RCSC" wrote:
Bonsoir,
Win XP, Excel 97, pas un pro de la macro.
J'ai un tableau, je veux le sélectionner, lui donner un nom, le trier et
faire des sous totaux.
Mon problème est que j'ai plusieurs fichiers différents en nombre de lignes
et je veux utiliser la même macro.
J'utilise le code suivant :
Range("A1").Select
Range("A1:" & [A1].SpecialCells(xlCellTypeLastCell).Address).Select
ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _
"='3CMCD'!R1C1:R185C10"
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Range("B1").Select
ActiveCell.FormulaR1C1 = "RACINE"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"
Range("A1").Select
Application.Goto Reference:="Database"
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
Si le tableau suivant fait par exemple 220 lignes, le nom "base de données"
ne se réfère qu'à la ligne 185.
Comment rendre la définition de mon nom variable en fonction du nombre de
lignes ?
Il faut utiliser la méthode "Currentregion". ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _ Range("a1").CurrentRegion
Si ce n'est que pour le tri pour la peine d'avoir un champ nommé. Pour déterminer la dernière ligne du tableau, en admettant que la colonne A est toujours remplie : der=Range("A65000").End(Xlup).Row
Pour avoir le calcul sur toute la colonne B : Range("B2:b" & der) "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"
Camille
"Bruno RCSC" wrote:
Bonsoir,
Win XP, Excel 97, pas un pro de la macro.
J'ai un tableau, je veux le sélectionner, lui donner un nom, le trier et faire des sous totaux. Mon problème est que j'ai plusieurs fichiers différents en nombre de lignes et je veux utiliser la même macro. J'utilise le code suivant : Range("A1").Select Range("A1:" & [A1].SpecialCells(xlCellTypeLastCell).Address).Select ActiveWorkbook.Names.Add Name:="Database", RefersToR1C1:= _ "='3CMCD'!R1C1:R185C10" Columns("B:B").Select Selection.Insert Shift:=xlToRight Range("B1").Select ActiveCell.FormulaR1C1 = "RACINE" Range("B2").Select ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))" Range("A1").Select Application.Goto Reference:="Database" Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom Si le tableau suivant fait par exemple 220 lignes, le nom "base de données" ne se réfère qu'à la ligne 185. Comment rendre la définition de mon nom variable en fonction du nombre de lignes ?
Merci de votre aide.
Bruno RCSC
Bonjour,
Merci Camille, cela répond à mon besoin du jour.
A priori, ll manquait un signe égal dans cette ligne. Range("B2:b" & der) = "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"
Bonjour,
Merci Camille, cela répond à mon besoin du jour.
A priori, ll manquait un signe égal dans cette ligne.
Range("B2:b" & der) = "=IF(ISBLANK(RC[-1]),"""",LEFT(RC[-1],3))"