Une macro qui me demande le nombre d'agrément
Résolu
Qhes
Messages postés
180
Statut
Membre
-
Qhes Messages postés 180 Statut Membre -
Qhes Messages postés 180 Statut Membre -
Bonjour,
j'ai une macro qui fait une action pour les ligne 2 à 10000...
J'aimerais savoir si c'est possible que plutot qu'elle fasse toujours de 2 à 10 000 elle me demande a quelle ligne je veux qu'elle s'arrete
avec une boite de dialogue ou je ne sais quoi :)
voici ma macro :
Sub fie()
On Error Resume Next
Application.ScreenUpdating = False
Workbooks.Open Filename:= _
"\\Nief3\environn\Risque Chimique\Exposition\LSE FIE AIE\Vierge\FIE modèle.xls"
For i = 2 To 10000
Workbooks("Macro.xls").Activate
Cells(i, 1).Select
a = ActiveCell.Value
e = "n" & a
Cells(i, 2).Select
b = ActiveCell.Value
Workbooks("FIE modèle.xls").Activate
Sheets(e).Select
If FeuilleExiste(e) = True Then
Range("O37").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP('[Macro.xls]Etape 3 - 5'!R" & i & "C3,RC[-14]:R[87]C[-1],14,0)"
d = ActiveCell.Value + 36
Cells(d, 10).Select
ActiveCell.Value = b
Range("O37").Select
ActiveCell.Value = ""
Else
MsgBox ("la feuille " & e & " n'existe pas")
End If
Next i
Workbooks("FIE modèle.xls").Activate
For j = 3 To Sheets.Count
Sheets(j).Select
Rows("37:116").Select
Selection.Sort Key1:=Range("J37"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A36").Select
Next j
Application.ScreenUpdating = True
MsgBox ("!!!!IMPERATIF!!!!" & vbCr & "Enregister-sous ce fichier immédiatement afin de le renommer :" & vbCr & "FIE modèle -> FIE (année étudiée)" & vbCr & "exemple : FIE 2008" & vbCr & " " & vbCr & "Puis quitter sans enregister")
Application.GetSaveAsFilename ("FIE " & Year(Date))
End Sub
j'ai une macro qui fait une action pour les ligne 2 à 10000...
J'aimerais savoir si c'est possible que plutot qu'elle fasse toujours de 2 à 10 000 elle me demande a quelle ligne je veux qu'elle s'arrete
avec une boite de dialogue ou je ne sais quoi :)
voici ma macro :
Sub fie()
On Error Resume Next
Application.ScreenUpdating = False
Workbooks.Open Filename:= _
"\\Nief3\environn\Risque Chimique\Exposition\LSE FIE AIE\Vierge\FIE modèle.xls"
For i = 2 To 10000
Workbooks("Macro.xls").Activate
Cells(i, 1).Select
a = ActiveCell.Value
e = "n" & a
Cells(i, 2).Select
b = ActiveCell.Value
Workbooks("FIE modèle.xls").Activate
Sheets(e).Select
If FeuilleExiste(e) = True Then
Range("O37").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP('[Macro.xls]Etape 3 - 5'!R" & i & "C3,RC[-14]:R[87]C[-1],14,0)"
d = ActiveCell.Value + 36
Cells(d, 10).Select
ActiveCell.Value = b
Range("O37").Select
ActiveCell.Value = ""
Else
MsgBox ("la feuille " & e & " n'existe pas")
End If
Next i
Workbooks("FIE modèle.xls").Activate
For j = 3 To Sheets.Count
Sheets(j).Select
Rows("37:116").Select
Selection.Sort Key1:=Range("J37"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A36").Select
Next j
Application.ScreenUpdating = True
MsgBox ("!!!!IMPERATIF!!!!" & vbCr & "Enregister-sous ce fichier immédiatement afin de le renommer :" & vbCr & "FIE modèle -> FIE (année étudiée)" & vbCr & "exemple : FIE 2008" & vbCr & " " & vbCr & "Puis quitter sans enregister")
Application.GetSaveAsFilename ("FIE " & Year(Date))
End Sub
2 réponses
-
Salut,
Tu peux faire simple exemple en B2 tu saisis le numéro ligne ou tu crées une liste déroulante dans laquelle tu affiches le numéro ligne
et tu modifies ta ligne
For i = 2 To [B2]
Ou tu fais un balayage depuis la ligne 65536 et ta macro fonctionne sur les lignes renseignées de ton tableau
For i = 2 To Range("A65536").End(xlUp).Row
Il est également possible d'ajouter une inputbox (boite de dialogue) dans laquelle on saisi le numéro ligne mais cela alourdira un peu ton code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir. -
Merci ca y est ca fonctionne bcp mieux avec ce que tu me propose :)
Merci beaucoup