Selectionner/copier-coller un onglet

Bonjour,

Voila je vous résume la situation....

Je me sert d'une cellule pour nommer un onglet (ca c'est OK). Ensuite, je copie/colle cet onglet pour pouvoir l'enregistrer toujours en fonction de cette cellule (ca c'est OK aussi). Le seul hic c'est que je ne veux pas sélection l'onglet en utilisant le nom de l'onglet car celui-ci est aléatoire puisqu'il dépend d'une cellule.

Voici l'exemple :

'enregistrement automatique

Sheets("MIKROMA").Select --------> je ne veux pas sélectionner MIKROMA qui est le résultat de range("A2").value

Sheets("MIKROMA").Copy

NumSem = Format(Now, "ww")

Lepath = ThisWorkbook.Path

On Error Resume Next

ActiveWorkbook.SaveAs Filename:= _

"S:\Production\Logistique\Appro\Documents\Encours Cdes\Portefeuille fournisseurs\Approvisionneur M.Conti\" & Range("A2").Value & "_SEM" & NumSem - 1 & ".xls"

ActiveWorkbook.Close

Un idée ?

Merci

cece31

Bonjour,

Il suffit de passer par une variable à laquelle tu attribues le contenu de ta cellule par exemple :

nom = Range("A2").value
Sheets(nom).Select

Cordialement

Merci

Cela marche pour un onglet mais comment fais tu lorsqu'en fait tu as plusieurs fois la manipulation ?

Exemple je peux avoir :

Sheets("MIKROMA").Select --------> je ne veux pas sélectionner MIKROMA qui est le résultat de range("A2").value

Sheets("MIKROMA").Copy

et un nouvel onglet dna sle même classeur :

Sheets("ARM").select

Sheets("ARM").copy

Comment va t'il chercher tous les onglets ?

Cdlt

Cela dépend, tes différents noms d'onglets sont issus de différentes cellules je suppose ?

Si oui, il te suffit d'assigner une variable à chaque cellule.

en fait pour résumer j'ai un fichier avec tout un portefeuille de fournisseur, je tri ensuite les fournisseurs en fonction d'une plage de cellule. je peux donc changer le tri

lorsque j'ai trié un fournisseur, je crée un onglet en copiant/collant les valeurs pour ce fournisseur

l'onglet est nommé en fonction de la cellule A2 (qui génère le nom du fournisseur)

je peux effectuer dans une macro plusieurs fosi cette opération et donc me retrouver avec plusieurs onglet dont le nom a été donné par rapport à la valeur de la cellule A2 de cette onglet.

comment puis je alors sélectionner un onglet bien précis ? car avec nom = range ("A2").value ca ne marche que pour un.

Cdlt

Si tous les fournisseurs se font à partir de la cellule A2, c'est donc que la valeur de la cellule A2 change en cours de traitement.

Après je ne sais pas si il y a plus optimisé pour mettre à jour la variable automatiquement, mais si avant chaque selection d'onglet , tu remets

nom = Range("A2").value

Cela remettra la variable à jour avec la bonne valeur.

re,

Je pense que je m'exprime mal.

en fait je crée différents onglets à partir d'un fichier global qui s'apelle portefeuille fournisseur

je fais d'abord un tri par fournisseur, et je copie/colle dans un onglet vierge cet onglet s'appelera de la celulle A2 de la nouvelle feuille et ainsi de suite....Je peux avoir plusieurs pages dans ce classeur.

exemple : feuil1 = se nomme selon la cellule A2 de cet onglet = par exmple MIKROMA (=cellule A2)

feuil2 = se nomme selon la cellule A2 de cet onglet = par exemple ARM

mon problème est que ensuite, je veux pouvoir identifier chaque onglet de ce classeur sans les appeler par le nouveau nom ex "MIKROMA", "ARM"

Avez vous une idée ?

Ah ok, en fait je pense à ça, dis moi si je me trompe :

tu fais ton tri, sur ta feuille ta cellule A2 te permet de nommer/créer ton onglet suivant MIKROMA qui devient donc ton dernier onglet ? puis de ce dernier onglet, ta cellule A2 te permet de nommer/créer ton onglet suivant ARM, qui devient donc à son tour ton dernier onglet ? etc etc

Car la question est là en fait, si chaque onglet est créé à la fin, il suffit de se positionner dessus et de selectionner la valeur de la cellule A2

Re,

Non en fait ce n'est pas tout a fait cela.

J'ai un classeur qui comporte un onglet qui s'appelle "Portefeuille" qui reprend des informations sur un panel de fournisseur. (MIKROMA, ARM etc.....)

Je fais un filtre spécial (par le biais de cellules renseignées sur un autre classeur) par fournisseur.

Cela crée un onglet supplémentaire en fonction du tri que j'ai demandé par exemple MIKROMA et iqui se nomme en fonction de la cellule A2 de ce nouvel onglet. car la colonne A2 repren le nom du fournisseur.

je peux créer ainsi plusieurs onglets. ex MIKROMA, ARM

donc je peux avoir plusieurs onglets dont le nom a été donné en fonction de sa cellule A2.

mon problème est que je veux maintenant sélectionner onglet par onglet afin de les enregistrer sauf que je veux pourvoir les sélectionner en VBA mais sans mentionner leur vrai nom "MIKROMA" , "ARM" car ces noms changent...

Est ce que cela est plus clair ?

Cdlt

-- 21 Juin 2011, 14:36 --

re,

bon je viens de trouver la solution....trop simple c'est peut être pour ca !

en fait les feuilles s'appellent de gauche à droite :

sheet(1),sheet(2)....jusqu'à la dernière sheets(sheets count)

et voila problème résolu

Merci quand même

Rechercher des sujets similaires à "selectionner copier coller onglet"