Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2012, 15h28   #1
Membre émérite
 
Avatar de panda31
 
Homme Michaël
Conseil - Consultant en systèmes d'information
Inscription : juin 2003
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : juin 2003
Messages : 673
Points : 850
Points : 850
Par défaut [XL-2003 & 2007] Problème pour redimensionner une plage nommée

Bonjour

J'ai un souci pour redimensionner une plage nommée dans un classeur destiné à Excel 2003 et Excel 2007.
Mon code est exécuté mais semble ne pas être pris en compte.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
           For Each objNom In ActiveWorkbook.Names
 
                'Scinde le nom pour récupérer :
                    'la référence : Tableau(0)
                    'et
                    'Le nom : Tableau(1)
                    If objNom.Name = definitionNameKeys Then
                        findNamedRangeKeys = True
                        tableau = Split(objNom.RefersTo, "!")
 
                        'Redimensionne le nom
                        'MsgBox objNom.Name + " " + tableau(0) + " " + tableau(1)
                        ThisWorkbook.Names.Add _
                            Name:=objNom.Name, _
                            RefersTo:=tableau(0) & "!" & _
                            range(tableau(1)).Resize(nbKeysREF).Address
                    End If
                    If objNom.Name = definitionNameValues Then
                        findNamedRangeValues = True
                        tableau = Split(objNom.RefersTo, "!")
 
                        'Redimensionne le nom                       
                        ThisWorkbook.Names.Add _
                            Name:=objNom.Name, _
                            RefersTo:=tableau(0) & "!" & _
                            range(tableau(1)).Resize(nbKeysREF).Address
                    End If
                    If findNamedRangeKeys = True And findNamedRangeValues = True Then
                        Exit For
                    End If
 
            Next objNom
Je n'obtiens aucune erreur mais quand je vérifie ma plage nommée après exécution de la macro, rien n'a été changé.
Auriez-vous une idée ?

Merci d'avance
__________________
Michaël Mary
Consultant PLM dans une société de conseil toulousaine
Auditeur CNAM-IPST depuis septembre 2008
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
John F. Woods
mon cv et mon domaine et mon blog
Aucune question technique par MP, svp
panda31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 16h36   #2
Membre éclairé
 
Inscription : mai 2006
Messages : 335
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2006
Messages : 335
Points : 326
Points : 326
Bonjour à tous
Bonjour panda31

Si tu veux redimensionner une plage, il faut commencer par la détruire (supprimer) puis la redimensionner.
Si j'ai bien compris ton pb.

Eric
edelweisseric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 17h05   #3
Membre émérite
 
Avatar de panda31
 
Homme Michaël
Conseil - Consultant en systèmes d'information
Inscription : juin 2003
Messages : 673
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : juin 2003
Messages : 673
Points : 850
Points : 850
Bonjour et merci.

En fait, mon problème venait du ThisWorkbook. J'utilise ActiveWorkbook et ça marche.
__________________
Michaël Mary
Consultant PLM dans une société de conseil toulousaine
Auditeur CNAM-IPST depuis septembre 2008
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
John F. Woods
mon cv et mon domaine et mon blog
Aucune question technique par MP, svp
panda31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h44.


 
 
 
 
Partenaires

Hébergement Web