Extraire plusieurs feuilles prédéfinis en un seul clique

Bonjour a tous

C'est ma première question dans ce forum qui m'a vraiment appris le VBA du zéro, je dis bien du zéro et sans même avoir un compte.

tous ça c'était grâce à vous tous, vos réponses précis et surtout vos chers questions.

Aujourd'hui je me trouve bloqué devant ce problème.

J'ai un classeur "Personnels.xlsx" portant des feuilles nommées par les noms des pays, chaque feuille comporte une liste des personnels, le problème c'est que j'ai pas réussi à créer un macro fonctionnel qui permet d'extraire les feuilles de quelques pays dans un seul nouveau classeur

Se que je veut faire:

Parmi les feuilles suivants: France , Algérie, Tunisie, Monaco , Italie, Libye, et Espagne.

Extraire les feuilles (France , Monaco , Italie et Espagne) dans un nouveau classeur nommé (Les personnels Européens.xlsx) a la même emplacement du classeur courant

Merci de m'aider a le faire

bonjour

un truc du genre :

sub exportfeuille ()
Sheets(Array("France" ,"Monaco" , "Italie", "Espagne")).Copy
ActiveWorkbook.SaveAs Filename:=thisworkbook.path &"\"&"les personnels Européens.xlsx", FileFormat:=xlOpenXMLWorkbook
activeworkbook.close true
end sub

seule contrainte mettre le fichier personnel.xlsx en personnel xlsm pour qu'il prenne en charge la macro ci dessus

Fred

Merci bien M.Fred, c'est parfaitement fonctionnel.
Mais y a t'il SVP une méthode d’examen d’existence de feuille avant, car si demain l'un de ces pays (Feuilles) n’existe plus.

Exemple: Si la feuille "Italie" n'existe plus, ça va buguer
Note:
La liste n'est pas susceptible d'augmenter, mais elle peut se diminuer, elle comprise toujours ( France , Algérie, Tunisie, Monaco , Italie, Libye, et Espagne ) ou moins.

Bonjour ...

j'ai une fonction en stock qui fait le test d'existence d'une feuille... et qui renvoi en boolean (true au false) en fonction de...

j'ai pas le temps dans l’immédiat de l'adapter à ton code... mais peut-etre que tu y arriveras...

fred

Function FeuilleExiste(nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = sheets(nom).Name <> ""
  On Error GoTo 0
End Function

elle s'utilise comme cela par exemple :

retour = FeuilleExiste("France")

Fred

Bonsoir

ci joint une proposition

Edit : suppression du fichier mauvais enregistrement

Fred

Bonsoir

Oui c'est exactement ça
mais j'ai pas y'arrivé à l'adapter a mon code

j'ai essayé trop de codes mais toujours je trompe au niveau de l'appel de fonction

Bonsoir

???? pas compris.... ?????

Fred

Le fichier que vous m'avez donné représente le résultat de mon dernier demande
mais j'ai pas trouvé le code VBA dedans
Donc j'essaye toujours d'adapter la fonction que vous m'avez fourni

Function FeuilleExiste(nom As String) As Boolean

On Error Resume Next

FeuilleExiste = sheets(nom).Name <> ""

On Error GoTo 0

End Function

Bonjour

je viens de voir que le fichier que j'ai fournit... il n'y a pas le code que j'avais fait....

je vais donc recommencer et le remettre....

Fred

Re bonjour

ci joint donc une nouvelle proposition.

5nadalv2.xlsm (17.78 Ko)

raccourci clavier alt +F11 pour ouvrir VBA editor et voir le code...

Fred

Vraiment, vous êtes un professeur M. Fred.
C'est parfaitement fonctionnel, aussi j'ai appris d'après le code comment appeler une fonction correctement
je vous remercie pour votre aide.

Rechercher des sujets similaires à "extraire feuilles predefinis seul clique"