Optimisation de macro

  • Initiateur de la discussion Initiateur de la discussion manwholooklikedude
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

manwholooklikedude

Guest
Bonjour les aminches, ça baigne ?

Bon je bloque là, j'ai une macro dont le principe est le suivant:

je vais réaliser un import d'un logiciel au format excel avec des références de pièces et des quantités
La localisation de ces pièces est dans un autre fichier la macro doit aller chercher chaque réf et retrouver son emplacement.

C'est assez simple mais il y a quelques contraintes que j'aimerai bien intégrer:

Contraintes:
la feuille import va changer de nom tout le temps
La colonne localisation doit s'arreter pile en bas de la liste
j'aimerai mieux que la macro detecte les tableaux toute seule plutôt que j'ai recours à des cellules fixes
(en gros lui dire: prend le tableau qui commence par Référence et va jusqu'en bas plutôt que prend le A1:C5)

J'ai mis 2 pièces jointes en exemple

D'avance merci à tout ceux qui m'aideront !

++

@+
 

Pièces jointes

Re : Optimisation de macro

Bonsoir


Voici une proposition d'optimisation
(les 2 classeurs doivent être ouvert)

Code:
Sub importappro()
' // Macro enregistrée le 11/03/2009 par Juillet
'Déclarations
Dim WKSource As Workbook, WKDestination As Workbook
Dim sDestin As Worksheet, sSource As Worksheet
'Fin Déclarations
Set WKSource = _
            Workbooks("import.xls")
Set WKDestination = _
            ThisWorkbook
Set sDestin = _
            WKDestination.Sheets("Résultat")
Set sSource = _
            WKSource.Sheets("Sheet1")
'RAZ de la page
sDestin.Cells.ClearContents
'copie
sSource.Range("A2:B" & sSource.[B65536].End(xlUp).Row).Copy sDestin.Range("A1")
'insertion formule
With sDestin
    .Range("C1") = "Localisation"
    .Range("C2:C" & sDestin.[B65536].End(xlUp).Row).FormulaLocal = _
    "=RECHERCHEV(A2;Base!A:B;2;FAUX)"
End With
'
Set WKSource = Nothing
Set WKDestination = Nothing
Set sSource = Nothing
Set sDestin = Nothing
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

B
Réponses
4
Affichages
2 K
benoitoleron
B
N
Réponses
5
Affichages
3 K
Nicocotte125
N
E
Réponses
71
Affichages
11 K
Aguise
A
I
Réponses
2
Affichages
2 K
Imperium
I
M
Réponses
6
Affichages
2 K
Maryloo2005
M
K
Réponses
0
Affichages
3 K
K
T
Réponses
7
Affichages
2 K
tonio44
T
Retour