Copier des cellules sous condition avec boucle

Copier des cellules sous condition avec boucle - VB/VBA/VBS - Programmation

Marsh Posté le 31-12-2008 à 12:00:48    

Bonjour à tous,
 
Mon titre n'est pas très révélateur, je vous essayer de vous expliquer le plus simplement possible ce que je cherche à faire :
 
(Pour info, je débute en VBA et je ne connais que les fonctions basiques de VBA)
 
Données :
J'ai un classeur (nommé Prénom1) avec 3 onglets nommés respectivement : Pierre, Paul, Jacques
Dans chaque feuille, il y a des données chiffrées de B1 à E5 (B1:E5)
J'ai un second classeur (nommé Prénom2) avec 5 Onglets : Pierre, Paul, Jacques, Arthur, Vincent, Francis
Dans chaque feuille il y a également des données chiffrées de B1 à E5.
 
Voilà ce que je cherche à faire :
1. Copier toutes les données chiffrées de "Prénom1" de chaque Onglet et les coller à la places des données chiffrées de "Prénom2" en respectant le nom de chaque onglet...
 
Info complémentaires :
* Je souhaite donc que la macro cherche le bon onglet pour copier les données chiffrées au bon endroit
* Imaginons que dans le classeur "prenom1" l'onglet "Pierre" soit écrit avec un seul "r", bien que les données doivent être copiées dans l'onglet "Pierre"
 du classeur "prenom2", est-il possible d'être averti que l'onglet "Piere" n'a pas été copié...
 
Merci d'avance de vos réponses !

Reply

Marsh Posté le 31-12-2008 à 12:00:48   

Reply

Marsh Posté le 31-12-2008 à 13:14:37    

vincenth16 a écrit :

Bonjour à tous,
 
Mon titre n'est pas très révélateur, je vous essayer de vous expliquer le plus simplement possible ce que je cherche à faire :
 
(Pour info, je débute en VBA et je ne connais que les fonctions basiques de VBA)
 
Données :
J'ai un classeur (nommé Prénom1) avec 3 onglets nommés respectivement : Pierre, Paul, Jacques
Dans chaque feuille, il y a des données chiffrées de B1 à E5 (B1:E5)
J'ai un second classeur (nommé Prénom2) avec 5 Onglets : Pierre, Paul, Jacques, Arthur, Vincent, Francis
Dans chaque feuille il y a également des données chiffrées de B1 à E5.
 
Voilà ce que je cherche à faire :
1. Copier toutes les données chiffrées de "Prénom1" de chaque Onglet et les coller à la places des données chiffrées de "Prénom2" en respectant le nom de chaque onglet...
 
Info complémentaires :
* Je souhaite donc que la macro cherche le bon onglet pour copier les données chiffrées au bon endroit
* Imaginons que dans le classeur "prenom1" l'onglet "Pierre" soit écrit avec un seul "r", bien que les données doivent être copiées dans l'onglet "Pierre"
 du classeur "prenom2", est-il possible d'être averti que l'onglet "Piere" n'a pas été copié...
 
Merci d'avance de vos réponses !


 
Salut,
 
Pour le début, rien de compliqué je pense.En utilisant l'enregistreur,tu obtiens:
Sheets(Array("Pierre", "Paul", "Jacques" )).Select
    Range("B1:E5" ).Select
    Selection.Copy
    Workbooks.Open Filename:="Chemin\Prenom2.xls"
    Sheets(Array("Pierre", "Paul", "Jacques" )).Select
    Range("B1:E5" ).Select
    ActiveSheet.Paste

Reply

Marsh Posté le 31-12-2008 à 16:41:18    

Merci !
 
Effectivement cette formule fonctionne, en revanche il copie les données de façon brute onglets après onglet. je veux dire par là que si les onglets de l'autre classeur ne sont pas dans l'ordre, il va les copiers de façon anarchique...Peut-on éviter ça ?
 
De plus, la macro ne fonctionne pas lorsque les onglets du classeur d'arrivé (Prenom2) sont dispersés parmis d'autres onglets. Même en enregistrant la macro manuelle, j'ai un message d'erreur qui me dit "L'utilisation d'une sélection multiple n'est pas valide"...
 
Je m'arrache les cheveux !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed