fouding69
Messages postés10Date d'inscriptionmardi 23 octobre 2007StatutMembreDernière intervention24 novembre 2011
-
24 nov. 2011 à 05:28
cgandco
Messages postés219Date d'inscriptionmercredi 26 octobre 2011StatutMembreDernière intervention22 juin 2017
-
24 nov. 2011 à 15:02
Bonjour à tous
Je débute en VBA. J'aimerais tester un code qui me permettrait de réaliser ceci :
Seraient ouverts :
Classeur "TdB" / Feuille "Analyse"
Classeur "CE #Nom" / Feuille "Devis".
#Nom change en fonction du dossierr sur lequel on veut travailler(exemple : "CE MARTIN") mais le nom classeur commencera toujours par "CE"
la macro doit faire :
Copie des cellules A1 et A5 de "CE" feuille "Devis"
Sur la première ligne non vide de "TdB" feuille "Analyse", en A et B (A1 vers Ax et A5 vers Bx).
Je suggère que le code ne fonctionne que si les 2 bons classeurs sont ouverts : "TdB" et un classeur débutant par "CE" (pour éviter de faire un imputbox sur les noms)
ça, ça marche ...
Sub test()
Workbooks("CE MARTIN").Activate
Sheets("Devis").Select
Range("A2").Copy
Workbooks("TdB").Activate
Sheets("Analyse").Select
Range("A1").Select
Sheets("Analyse").Paste
Workbooks("CE MARTIN").Activate
Sheets("Devis").Select
Range("B5").Copy
Workbooks("TdB").Activate
Sheets("Analyse").Select
Range("B1").Select
Sheets("Analyse").Paste
End Sub
Après, il faut que je cherche la dernière ligne non-vide (mon tableau ne dépassera pas les 3000 lignes) avec un truc du genre :
Derligne = Four.Range("A3000").End(xlUp).Row
et je place la variable Derligne dans le range de mon paste .... c'est bien ça ?
Alors après, comment ne faire le "copy" que sur le fichier commençant par "CE", et m'indiquer un msg d'erreur si 2 sont ouvets ("CE Martin" et "CE Dupont")... mystère ...