OVH Cloud OVH Cloud

definr ma base de données automatiquement à l'ouverture du classeur

5 réponses
Avatar
Michel
Bonsoir tout le monde
j'ai encontré un problème d'extension impossible
de la base de données. la définition même de la
base a sauté et j'ai manuellement REdéfini la
plage, mais je cherche une solution (avec votre
aide se sera mieux) pour que la plage se
"rafraississe" à l'ouverture du classeur.
la base commence toujours en B12 et se termine
toujours en P et dernière cellule contenant une
formule.

merci d'avance du coup de pouce.

--
Amicalement
Michel . P

5 réponses

Avatar
michdenis
Bonjour Michel,

Ceci devrait être suffisant :

'--------------------------
Private Sub Workbook_Open()

'pour définir une plage nommée
Worksheets("Feuil1").Range("B12:P12").Name = "Definir"

'Pour se déplacer(se rendre) et sélectionner la plage nommée
Application.Goto Reference:="definir", True ' le ,True est optionnel


End Sub
'--------------------------

P.S. Je n'ai pas compris ce que venait faire la présence d'une variable !


Salutations!


"Michel" a écrit dans le message de news:
Bonsoir tout le monde
j'ai encontré un problème d'extension impossible
de la base de données. la définition même de la
base a sauté et j'ai manuellement REdéfini la
plage, mais je cherche une solution (avec votre
aide se sera mieux) pour que la plage se
"rafraississe" à l'ouverture du classeur.
la base commence toujours en B12 et se termine
toujours en P et dernière cellule contenant une
formule.

merci d'avance du coup de pouce.

--
Amicalement
Michel . P
Avatar
Michel
Il se trouve que michdenis a formulé :
Bonjour Michel,

Ceci devrait être suffisant :

'--------------------------
Private Sub Workbook_Open()

'pour définir une plage nommée
Worksheets("Feuil1").Range("B12:P12").Name = "Definir"

'Pour se déplacer(se rendre) et sélectionner la plage
nommée Application.Goto Reference:="definir", True '
le ,True est optionnel


End Sub
'--------------------------

P.S. Je n'ai pas compris ce que venait faire la
présence d'une variable !


Salutations!


"Michel" a écrit
dans le message de
news: Bonsoir
tout le monde j'ai encontré un problème d'extension
impossible de la base de données. la définition même de
la base a sauté et j'ai manuellement REdéfini la plage,
mais je cherche une solution (avec votre aide se sera
mieux) pour que la plage se "rafraississe" à
l'ouverture du classeur. la base commence toujours en
B12 et se termine toujours en P et dernière cellule
contenant une formule.

merci d'avance du coup de pouce.


Merci, mais ce n'est pas tout à fait cela que je
souhaite. la base doit se définir seule à
l'ouverture. J'arrive à cela prêt que je n'arrive
pas à recupérer la valeur de ma cellule de
référence.

Private Sub Workbook_Open()
Sheets("dossiers").Activate
bd = Range("definir").Value (la
valeur contenue est ma base de type B12:P225)
ActiveWorkbook.Names.Add
Name:="base_de_données", RefersToR1C1:½
End Sub

le problème est que la valeur de bd retournée et
exploitée sous le format "B12:P225" les" " sont
pris en compte et la macro ne fonctionne donc pas
.
quid ?

--
Amicalement
Michel . P

Avatar
Hervé
Salut Michel,
Je pense que ceci devrais convenir. A chaque ouverture, la base est
redéfinie car quand le nom est identique, l'ancien nom est remplacé par le
nouveau :
Private Sub Workbook_Open()
With Worksheets("dossiers")
ActiveWorkbook.Names.Add _
"Base_de_Données", _
.Range(.[B12], .[P65536].End(xlUp))
End With
End Sub

Hervé.

"Michel" a écrit dans le message
news:
Bonsoir tout le monde
j'ai encontré un problème d'extension impossible
de la base de données. la définition même de la
base a sauté et j'ai manuellement REdéfini la
plage, mais je cherche une solution (avec votre
aide se sera mieux) pour que la plage se
"rafraississe" à l'ouverture du classeur.
la base commence toujours en B12 et se termine
toujours en P et dernière cellule contenant une
formule.

merci d'avance du coup de pouce.

--
Amicalement
Michel . P



Avatar
Michel
Il se trouve que Hervé a formulé :
Salut Michel,
Je pense que ceci devrais convenir. A chaque ouverture,
la base est redéfinie car quand le nom est identique,
l'ancien nom est remplacé par le nouveau :
Private Sub Workbook_Open()
With Worksheets("dossiers")
ActiveWorkbook.Names.Add _
"Base_de_Données", _
.Range(.[B12], .[P65536].End(xlUp))
End With
End Sub

Hervé.

"Michel" a écrit
dans le message news:

Bonsoir tout le monde
j'ai encontré un problème d'extension impossible
de la base de données. la définition même de la
base a sauté et j'ai manuellement REdéfini la
plage, mais je cherche une solution (avec votre
aide se sera mieux) pour que la plage se
"rafraississe" à l'ouverture du classeur.
la base commence toujours en B12 et se termine
toujours en P et dernière cellule contenant une
formule.

merci d'avance du coup de pouce.

--
Amicalement
Michel . P



merci je v'ai l'essayer aussi

j'ai trouvé ceci qui a l'air de fonctionner pas
mal

Private Sub Workbook_Open()
Sheets("dossiers").Activate
bd = Range("definir").Value (ce qui donne la
plage B12:Pxx ou les xx sont bien la dernière
cellule non vide de la colone P)
bd = "=" + bd
Range(bd).Select
ActiveWorkbook.Names.Add Name:="database",
RefersTo:½
Sheets("accueil").Activate
End Sub

j'ai supprimé le nom base_de_données et quand la
macro s'éxécute, le nom database de la macro est
transformé automatiquement par base_de_données;
la plage de cellules est la bonne et quelque soit
la
cellule active : quand je fais Données===>Grille,
j'ai bien le nombre de fiches de la base compléte
et je peux
l'étendre sans problème.

--
Amicalement
Michel . P


Avatar
Michel
Hervé a émis l'idée suivante :
Salut Michel,
Je pense que ceci devrais convenir. A chaque ouverture,
la base est redéfinie car quand le nom est identique,
l'ancien nom est remplacé par le nouveau :
Private Sub Workbook_Open()
With Worksheets("dossiers")
ActiveWorkbook.Names.Add _
"Base_de_Données", _
.Range(.[B12], .[P65536].End(xlUp))
End With
End Sub

Hervé.

"Michel" a écrit
dans le message news:

Bonsoir tout le monde
j'ai encontré un problème d'extension impossible
de la base de données. la définition même de la
base a sauté et j'ai manuellement REdéfini la
plage, mais je cherche une solution (avec votre
aide se sera mieux) pour que la plage se
"rafraississe" à l'ouverture du classeur.
la base commence toujours en B12 et se termine
toujours en P et dernière cellule contenant une
formule.

merci d'avance du coup de pouce.

--
Amicalement
Michel . P



Ta solution est encore plus simple et me convient
parfaitement
merci

--
Amicalement
Michel . P