Bonjour à tous,
J'essaie de me débrouiller en VBA mais force est de constater que je bloque à plusieurs niveaux...
Je sollicite donc votre aide
J'ai réussi à écrire une macro (Sub IncremSimple) qui fonctionne parfaitement si je suis placée sur la bonne cellule dans mon tableau
Je souhaiterais lancer cette Sub en boucle autant de fois qu'il y a de lignes dans mon tableau.
Pour compter le nombre de lignes de mon tableau j'ai utilisé le code suivant qui marche parfaitement également:
Là ou ça ne marche plus, c'est quand j'essaie de lancer cette boucle... je ne sais pas quelle syntaxe employer : For Next, While Wend, etc....
Je ne sais pas si c'es ma sub IncremSimple qui fait bugger la boucle ou bien si c'est ma syntaxe.... que me conseilleriez-vous ??
Merci pour votre aide !
J'essaie de me débrouiller en VBA mais force est de constater que je bloque à plusieurs niveaux...
Je sollicite donc votre aide
J'ai réussi à écrire une macro (Sub IncremSimple) qui fonctionne parfaitement si je suis placée sur la bonne cellule dans mon tableau
Code:
Sub IncremSimple()
Dim Reponse As Integer
Dim Matricule As String
Dim LigneMatricule As Integer
Dim debutConge As Integer
Dim finConge As Integer
Dim Lig As Long
Reponse = MsgBox("Etes vous bien positionner sur le matricule du salairé concerné ?", vbQuestion + vbYesNo, "Titre de la fenêtre")
'MsgBox Reponse
Matricule = ActiveCell.Value
LigneMatricule = ActiveCell.Row
'MsgBox Matricule
'If Reponse = 6 Then 'SI Reponse = OUI ALORS
debutConge = Range("H" & LigneMatricule).Select 'copie la date de début des congés dans la fiche du salarié
'MsgBox debutConge
Selection.Copy
Sheets(Matricule).Select
'Recherche de la première ligne vide de la fiche salarié
Lig = 34 'première ligne à vérifier
Do While Not IsEmpty(Range("A" & Lig))
Lig = Lig + 1
Loop
'MsgBox "La première ligne vide de la colonne est A est la ligne" & Lig
'Selectionne la cellule ou va s'effectuer la copie
Range("A" & Lig).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.NumberFormat = "m/d/yyyy"
Sheets("ABSENCES").Select
finConge = Range("I" & LigneMatricule).Select 'copie la date de fin des congés dans la fiche du salarié
' MsgBox finConge
Selection.Copy
Sheets(Matricule).Select
Lig = 34 'première ligne à vérifier
Do While Not IsEmpty(Range("B" & Lig))
Lig = Lig + 1
Loop
'MsgBox "La première ligne vide de la colonne est B est la ligne" & Lig
'Selectionne la cellule ou va s'effectuer la copie
Range("B" & Lig).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.NumberFormat = "m/d/yyyy"
Sheets("ABSENCES").Select
End Sub
Je souhaiterais lancer cette Sub en boucle autant de fois qu'il y a de lignes dans mon tableau.
Pour compter le nombre de lignes de mon tableau j'ai utilisé le code suivant qui marche parfaitement également:
Code:
Nbligne = Range("A11", Range("A65535").End(xlUp)).Rows.Count
MsgBox Nbligne
Là ou ça ne marche plus, c'est quand j'essaie de lancer cette boucle... je ne sais pas quelle syntaxe employer : For Next, While Wend, etc....
Je ne sais pas si c'es ma sub IncremSimple qui fait bugger la boucle ou bien si c'est ma syntaxe.... que me conseilleriez-vous ??
Merci pour votre aide !