Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1746 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  nommer le contenu d'un nombre de feuilles aléatoire [XL2013]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

nommer le contenu d'un nombre de feuilles aléatoire [XL2013]

n°2208301
thiefer
Posté le 27-10-2013 à 10:37:08  profilanswer
 

Bonjour,
J'ouvre un fichier excel qui est alimenté en amont par une routine qui crée n onglets (feuilles) variable pouvant aller de 1 à 12 (et plus si affinités ;)).
Ces feuilles sont présentées sous forme de bdd.
Je voudrais pouvoir balayer chacune de ces feuilles, en sélectionner le contenu et créer (ou mettre à jour si ils existent déjà dans le cas d'une seconde ouverture) un nom pour ma sélection, nom qui soit le nom de l'onglet.
J'ai réalisé ce petit bout de code mais ça bloque en ligne 7 (f1.Range("A1" ).CurrentRegion.Select), Erreur d'éxécution '1004": La méthode Select de la classe Range a échoué.
J'ai pourtant utilisé ce même type d'instruction avec .value plutôt que .select avec succès.
Quelqu'un saurait-il me dire comment faire svp ?

Code :
  1. Sub defnomtableaux()
  2.   Application.ScreenUpdating = False
  3.  
  4.    For s = 1 To Sheets.Count - 2
  5.     Set f1 = Sheets(s)
  6.     tname = f1.Name
  7.     f1.Range("A1" ).CurrentRegion.Select
  8.    
  9.     Names.Add Name:=tname, RefersTo:="='" & tname & "'!" & Selection.Address
  10.    Next s
  11.    
  12. End Sub


Merci @ tous de toute votre aide
TF

mood
Publicité
Posté le 27-10-2013 à 10:37:08  profilanswer
 

n°2208308
Marc L
Posté le 27-10-2013 à 11:38:58  profilanswer
 

 
           Bonjour,
 
           la sélection de cellule(s) s'effectue uniquement sur la feuille active ‼
           Voir l'exemple dans l'aide de la méthode  Select  …
 
           Ensuite inutile de sélectionner pour travailler avec des objets !
           Exemple dans ce sujet
 

n°2208311
thiefer
Posté le 27-10-2013 à 11:58:56  profilanswer
 

Bonjour Marc L,
 
Je m'en suis finalement sorti simplement en ajoutant une ligne d'instruction f1.select
Le code fonctionne très bien à présent comme ci-dessous

Code :
  1. Sub defnomtableaux()
  2.   Application.ScreenUpdating = False
  3.  
  4.    For s = 1 To 2
  5.     Set f1 = Sheets(s)
  6.     f1.Select
  7.     tname = f1.Name
  8.     f1.Range("A1" ).CurrentRegion.Select
  9.     f1.Names.Add Name:=tname, RefersTo:="='" & tname & "'!" & Selection.Address
  10.    Next s
  11.    
  12. End Sub


Par contre, il me reste un point génant si mes noms d'onglets contiennent des caractères spéciaux ou des espaces.
Quelle astuce appliquer pour que cela soit opérationnel ques que soient les noms qui ont été attribués lors de la génération des feuilles ?
Merci de votre aide,
TF

n°2208313
MaybeEijOr​Not
but someone at least
Posté le 27-10-2013 à 12:06:16  profilanswer
 

Travaille sur le numéro d'onglet?

n°2208314
thiefer
Posté le 27-10-2013 à 12:14:18  profilanswer
 

MaybeEijOrNot a écrit :

Travaille sur le numéro d'onglet?


 
Oui !
Cela permet de travailler sur une liste d'onglets "entre bornes" sans en connaitre le nom.
Dans le premier code, sur tous les onglets sauf les deux derniers
Dans le second code, seulement sur les deux premiers onglets,
etc...

n°2208318
MaybeEijOr​Not
but someone at least
Posté le 27-10-2013 à 12:52:55  profilanswer
 

Je ne sais pas comment prendre ton message, je te faisais une proposition, au lieu de récupérer le nom de ta feuille puis nommer ta sélection en fonction, nommes directement ta sélection en fonction du numéro d'onglet.

n°2208413
Marc L
Posté le 28-10-2013 à 12:38:47  profilanswer
 

 
           Et de toute manière un bon code ne travaille pas à coup de  Select  ! …
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  nommer le contenu d'un nombre de feuilles aléatoire [XL2013]

 

Sujets relatifs
Mon serveur Nas veut pas récupérer le contenu du dossier à distance ?Comment générer un nombre aléatoire en C++ ?
Afficher un très grand nombre entierVBA - Copier données entre deux feuilles et restructuration
[ASP.NET] Modifier contenu page web sans programmationInclure en php un texte contenu dans un fichier dropbox
[Excel] Copier le contenu de plusieurs fichier Excel dans un seul[VBA] Remplacer une formule dans plusieurs feuilles du classeur
Fixer le nombre de caractères par ligne d'un fichier 
Plus de sujets relatifs à : nommer le contenu d'un nombre de feuilles aléatoire [XL2013]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR