Sur un forum dédié, j'ai découvert que selon comment serait codé le VBA, Office Mac ne réagit pas pareil.
Il existerait 3 langages :
- Content Controls (non supporté par Apple)
- Active-X Controls (non suivi par Windows)
- Legacy Form Controls (fonctionne sur les 2 plateformes.
L'un d'entre vous saurait-il me dire si mes 2 macros ont la bonne syntaxe ?
Macro qui vide la feuille excel des précédents enregistrement
Sub Effacer()
With ActiveSheet
dlf = .Range("L" & Rows.Count).End(xlUp).Row
.Range("A2:M" & dlf).ClearContents
MsgBox "Données effacées", vbInformation
End With
End Sub
Macro qui duplique les lignes selon la qté spécifiée dans l'Excel.
Sub InsertAndCopy()
Dim i%, j%, n%
With ActiveSheet
n = .Cells(.Rows.Count, 12).End(xlUp).Row
Application.ScreenUpdating = False
For i = n To 1 Step -1
If IsNumeric(.Cells(i, 10)) Then
j = .Cells(i, 10) - 1
If j > 0 Then
.Range("A" & i & ":M" & i).Copy
.Range("A" & i + 1 & ":M" & i + j).Insert xlShiftDown
End If
End If
Next i
End With
Application.CutCopyMode = False
MsgBox "Données Dupliquées", vbInformation
End Sub
Si besoin, je vous ai joint les fichiers pour illustrer le problème.
Merci de votre aide.