Excel Macro Boucle
mdelusse56
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Je viens vers vous car j'ai besoin d'une solution à un p'tit problème. :-)
Voila, j'ai fait une macro sous Excel qui permet de lancer plusieurs recherches v (sur un fichier exporter de l'ERP de mon entreprise).
Mon problème est que ce fichier varie tous les jours (c'est à dire que des lignes se rajoutent chaque jours..) et je ne sais donc pas comment faire pour avoir une espèce de "boucle" qui permet à la macro de faire les recherches V en fonction du nombre de ligne.
Voila par exemple un bout de code pour une recherche v :
Sheets("Feuil1").Select
Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.NumberFormat = "General"
Range("F1").Select
ActiveCell.FormulaR1C1 = "Material description"
Range("F2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'N:\ASSISTANCE TECHNIQUE\EN COURS CLIENTS\[Matrice.xlsx]Table DM'!C1:C2,2,0)"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F20838")
Range("F2:F20838").Select
Columns("F:F").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("E:E").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Le nombre de lignes est directement inscrit...
Merci à tous, Cordialement.
MDL
Je viens vers vous car j'ai besoin d'une solution à un p'tit problème. :-)
Voila, j'ai fait une macro sous Excel qui permet de lancer plusieurs recherches v (sur un fichier exporter de l'ERP de mon entreprise).
Mon problème est que ce fichier varie tous les jours (c'est à dire que des lignes se rajoutent chaque jours..) et je ne sais donc pas comment faire pour avoir une espèce de "boucle" qui permet à la macro de faire les recherches V en fonction du nombre de ligne.
Voila par exemple un bout de code pour une recherche v :
Sheets("Feuil1").Select
Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.NumberFormat = "General"
Range("F1").Select
ActiveCell.FormulaR1C1 = "Material description"
Range("F2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],'N:\ASSISTANCE TECHNIQUE\EN COURS CLIENTS\[Matrice.xlsx]Table DM'!C1:C2,2,0)"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F20838")
Range("F2:F20838").Select
Columns("F:F").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("E:E").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Le nombre de lignes est directement inscrit...
Merci à tous, Cordialement.
MDL
A voir également:
- Excel Macro Boucle
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
Si j'ai bien compris ton code, la RECHERCHEV se fait suivant les valeurs de la colonne E.
Tu peux donc limiter la recherche au nombre de valeurs contenues dans cette colonne.
A+
Si j'ai bien compris ton code, la RECHERCHEV se fait suivant les valeurs de la colonne E.
Tu peux donc limiter la recherche au nombre de valeurs contenues dans cette colonne.
Sub Test()
Dim DerLig As Long
With Sheets("Feuil1")
With .Columns("F:F")
.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.NumberFormat = "General"
End With
DerLig = .Range("E" & Rows.Count).End(xlUp).Row
.Range("F1") = "Material description"
.Range("F2").FormulaR1C1 = "=VLOOKUP(RC[-1],'N:\ASSISTANCE TECHNIQUE\EN COURS CLIENTS\[Matrice.xlsx]Table DM'!C1:C2,2,0)"
.Range("F2").AutoFill Destination:=.Range("F2:F" & DerLig)
.Range("F2:F" & DerLig).Copy
.Range("F2:F" & DerLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("E:E").Delete Shift:=xlToLeft
Application.CutCopyMode = False
End With
End Sub
A+