Une macro qui me demande le nombre d'agrément
Résolu
Qhes
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
Qhes Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Qhes Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Une macro qui me demande le nombre d'agrément
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
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.
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.