Comparer valeur d'une cellule au nom d'une autre feuille

Fermé
Benoa_01 Messages postés 2 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 17 octobre 2013 - 16 oct. 2013 à 17:33
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 17 oct. 2013 à 09:57
Bonjour à tous !
J'ai un problème de programmation VBA que je peine énormément à résoudre !
Explications :!
J'ai dans une première feuille : "feuil1" un tableau a 3 colonnes et 3 lignes ( pour simplifier !)
Dans la première colonne A il y a des références de pièces
Dans la deuxième colonne B il y a des désignations de pièce qui correspondent au références
Dans la troisième colonne C il y a le numéro des postes ou sont fabriquée les pièces ( disons pour exemple c1= "poste 1" c2="poste 2" et c3="poste 3"

J'ai déjà fais une macro qui ouvre des nouvelles feuilles qui portent le nom des différents postes du tableau (exemple dans ce cas simple la macro me crée 3 feuilles : poste1 poste 2 et poste 3)

Maintenant c'est ici que je cale !?

En fait je voudrais une macro qui analyse la colonne c de la feuille 1 et qui compare les valeurs des cellules de cette colonne avec les différentes noms de feuilles du classeur
Si la valeur d'une cellule est identique au nom d'une feuille, je voudrais recopier la ligne dans cette feuille

Par exemple : copier A1 et B1 dans la feuille "poste 1 "


Ça me semblait simple, mais finalement j'ai beaucoup de mal à construire ma macro

Quelqu'un a t il des idées ?!

Merci d'avance

Benoit !

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 17/10/2013 à 08:14
Bonjour,

une facon de faire

copie infos dans onglet trouve, adaptez le nom feuil1 et pour Plage_Poste, C1 ou C2

Sub Bouton1_Clic()
    Dim derlig, Plage_Poste As Range, cel As Range, derlig_P

Application.ScreenUpdating = False

'derniere cellule non vide feuil1
derlig = Worksheets("feuil1").Range("C" & Rows.Count).End(xlUp).Row
'definition plage de recherche
Set Plage_Poste = Worksheets("feuil1").Range("C2:C" & derlig)
'boucle de copie
For Each cel In Plage_Poste
'derniere cellule non vide onglet en cours
derlig_P = Worksheets(cel.Value).Range("C" & Rows.Count).End(xlUp).Row + 1
'copie infos
Worksheets("feuil1").Range("A" & cel.Row & ":C" & cel.Row).Copy Worksheets(cel.Value).Range("A" & derlig_P)
Next cel

Application.ScreenUpdating = False
End Sub
0
Benoa_01 Messages postés 2 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 17 octobre 2013
17 oct. 2013 à 09:47
Bonjour! Merci pour votre réponse rapide!
J'ai quelques questions : pourquoi lors de la définition de la plage de recherche vous saisissez "C2:C" ?
Autrement la macro bug dans le bloque de "copie des infos " . Et je ne vois pas du tout d'où vient le problème !
Avez vous des idées

Merci encore

Benoit
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
17 oct. 2013 à 09:57
Re,

pourquoi lors de la définition de la plage de recherche vous saisissez "C2:C" ?

C'est bien dans cette colonne qu'il y a les noms d'onglet !!!!!

Autrement la macro bug dans le bloque de "copie des infos " Quelle erreur ??????

A+
0