Une macro qui me demande le nombre d'agrément

Résolu/Fermé
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 - 3 déc. 2010 à 14:59
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 - 7 déc. 2011 à 09:31
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



A voir également:

2 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 3/12/2010 à 15:35
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.
1
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
7 déc. 2011 à 09:31
Merci ca y est ca fonctionne bcp mieux avec ce que tu me propose :)

Merci beaucoup
0