VBA pour MAC: un problème avec le syntax
Bonjour à tous,
Je cherche une aide de quelqu'un qui "parle" le VBA et travaile sur MAC ou connaît les différences du syntax VBA pour PC et VBA pour MAC.
Est-ce que quelqu’un pourra m’aider et verifier pourquoi le code suivant (merci vba-new!!!) ne marche pas sur MAC:
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
ActiveSheet.Range("C3:Z45").Sort _
Key1:=.Range("C3"), _
Key2:=.Range("D3")
With .Sort
.SetRange Range("C3:Z45")
.Orientation = xlTopToBottom
.Apply
End With
nbLign = Application.CountIf(.[C3:C45], numEquip)
Set trouve = .Range("C2:C45").Find(numEquip, LookIn:=xlValues, LookAt:=xlWhole)
Set plageEquip = trouve.Resize(nbLign, 24)
Set ExistFichier = Nothing
On Error Resume Next
Set ExistFichier = Workbooks.Open(rep & "BD d'équipe " & numEquip & " Model.xls")
On Error GoTo 0
If ExistFichier Is Nothing Then
MsgBox "L'équipe " & numEquip & " n'a pas de fichier." & vbCrLf & _
"Veuillez en créer un.", vbExclamation
Exit Sub
End If
Les trios lignes (en gros) sont en jaunes et une fleches montre sur la troisième ligne.
Merci en avance,
Baton
Bonsoir
Un peu bizarre ton code là ....
Première question évidemment. Quelle est ta version d'excel ?? Dans ton profil je vois 2008.
A te relire
Amicalement
Re Dan, re Baton,
Voici le code original Dan :
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
' .Sort.SortFields.Clear
' .Sort.SortFields.Add Key:=.Range( _
' "C3:C45"), SortOn:=xlSortOnValues, Order:=xlAscending
' .Sort.SortFields.Add Key:=.Range( _
' "D3:D45"), SortOn:=xlSortOnValues, Order:=xlAscending
' With .Sort
' .SetRange Range("C3:Z45")
' .Orientation = xlTopToBottom
' .Apply
' End With
nbLign = Application.CountIf(.[C3:C45], numEquip)
Set trouve = .Range("C2:C45").Find(numEquip, LookIn:=xlValues, LookAt:=xlWhole)
Set plageEquip = trouve.Resize(nbLign, 24)
Set ExistFichier = Nothing
On Error Resume Next
Set ExistFichier = Workbooks.Open(rep & "BD d'équipe " & numEquip & " Model.xls")
On Error GoTo 0
If ExistFichier Is Nothing Then
MsgBox "L'équipe " & numEquip & " n'a pas de fichier." & vbCrLf & _
"Veuillez en créer un.", vbExclamation
Exit Sub
End If
Sheets("Data").Select
plageEquip.Copy
derLign = IIf(Range("C" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("C" & Rows.Count).End(xlUp).Row + 1)
With Cells(derLign, 3)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
'suppression des doublons
Columns(3).Insert xlToRight
For Each cel In Range("D" & derLign).Resize(nbLign)
doublon = Evaluate("SumProduct((" & Range("D3:D" & derLign - 1).Address & "=" & cel.Value & ")*(" & Range("E3:E" & derLign - 1).Address & "=" & cel.Offset(, 1).Value & "))")
If doublon > 0 Then Cells(cel.Row, 3).Value = "$$$"
Next cel
Set trouve = Range("C" & derLign).Resize(nbLign).Find("$$$", LookAt:=xlWhole)
If Not trouve Is Nothing Then
For i = nbLign + derLign - 1 To derLign Step -1
If Cells(i, 3) = "$$$" Then Rows(i).Delete
Next i
End If
Columns(3).Delete
derLignC = Range("C" & Rows.Count).End(xlUp).Row
derLignA = IIf(Range("A" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("A" & Rows.Count).End(xlUp).Row + 1)
If derLignC > derLignA Then
For i = derLignA To derLignC
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End If
Application.DisplayAlerts = False
.Delete
End With
End SubC'est une macro qui est appelée dans une autre macro. La partie qui ne marchait pas est la partie commentée. C'est censé trier la plage C3:Z45
re,
Merci VBaNew.
Pour comprendre il faudrait la totalité du code et les fichiers concernés.
Si c'est le tri qui est concerné, mettre ce code
Activesheet.Range("C3:Z45").Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottomReste à savoir ta version d'excel
Amicalement
Voici les 2 fichiers :
Dans le fichier Bon de commande, il faut lancer la macro consolide qui normalement ouvre le fichier BD consolidées Model
Le post où je galère à trouver une solution qui marche sur MAC (ça marche parfaitement chez moi) : https://forum.excel-pratique.com/excel/alimentation-automatique-de-bases-des-donnees-t24452.html
Merci Dan
re,
Pour le tri, mettre le code que j'ai placé avant.
Vbanew, pour ton souci je réponds sur l'autre fil car dans le fichier placé ici cela ne peut fonctionner sous MAC.
reste donc à voir sous quel version excel MAC, Baton travaille
Amicalement
Merci Dan.
Par simple curiosité, pourquoi ?Dan a écrit :...car dans le fichier placé ici cela ne peut fonctionner sous MAC.
re
Par simple curiosité, pourquoi ?
Je n'ai pas été trop loin mais deux choses posent souci :
- Les instructions de tri correctes sont celles que j'ai données avant et que tu avais aussi données sur l'autre fil
- Le séparateur sous MAC est toujours --> ":" tandis que sous windows c'est "\"
Baton tu es là ??
Amicalement
Nonjour Dan et Vba-New,
Bonjour à tous,
Je suis là
Je travaile sur Excel 2008 pour Mac. Car ce logiciel n'est pas compatible avec le VBA, notre sysadmin m'a installé Excel 2002 pour Mac.
Baton
re,
Voilà on y est. C'est bien ce que je pensais au sujet de ta version.
Excel 2002 pour MAC n'existe pas. Soit tu as Excel 2001 ou 2004.
Dans les deux cas linstruction de tri que je t'ai donnée fonctionnera sans souci.
A te relire
Amicalement
Dan a écrit :re,
Excel 2002 pour MAC n'existe pas. Soit tu as Excel 2001 ou 2004.
Amicalement
re
la version est Microsoft Office X. Selon notre sysadmin c'est une version de l'année 2002. Il me semble, qu'il sèst trompé. Peut-être, c'est vraiment 2001, mais ça ne changent pas grande chose.
-- 17 Août 2011, 12:16 --
Dan,
après avoir remplacé le code, j'exécute le code suivant:
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
ActiveSheet.Range("C3:Z45").Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
With .Sort
.SetRange Range("C3:Z45")
.Orientation = xlTopToBottom
.Apply
End With
La fenêtre que je reçoie est:
Erreur d'exécution '1004'
La méthode Sort de la classe Range a échoué
Les trois ligne en gras sont colorées en jaune et la flêche indique la troisième ligne.
re,
Pour ta version excel, va dans Excel puis clique sur "a propos de" pour connaitre la version
Code --> essaie plutôt comme ceci :
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
ActiveSheet.Range("C3:Z45").Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottomLe tout est de savoir à quoi correspond l'activesheet à ce moment là bien sûr.
Attention que la feuille ne doit pas être protégée aussi...
Re Dan,
L'activesheet correspond à la feuille qui vient d'être copiée avec :
FeuilBase.Copy before:=Maitre.Sheets(1)Dan a écrit :Pour ta version excel, va dans Excel puis clique sur "a propos de" pour connaitre la version
l'autopsie decouvre que c'est 2001
Dan a écrit :Code --> essaie plutôt comme ceci :
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long) Dim nbLign As Long, derLign&, i&, derLignA&, derLignC& Dim trouve As Range, plageEquip As Range FeuilBase.Copy before:=Maitre.Sheets(1) ActiveSheet.Range("C3:Z45").Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("D3") _ , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottomLe tout est de savoir à quoi correspond l'activesheet à ce moment là bien sûr.
J'exécute ce code (ces sont toutes les lignes de la deuxième partie) et je reçoie
Erreur de compilation:
Référence incorrecte ou non qualifié
la ligne du code
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
est en jaune + dans le code plus tard dans la ligne
nbLign = Application.CountIf(.[C3:C45], numEquip)
est selectée
Je suis sûr que je n'ai pas compris correctement ta recommendation quelle partie du code il fallait remplacer par la tien.
Pourras-tu m'envoyer le code complet?
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
ActiveSheet.Range("C3:Z45").Sort Key1:=Range("C3"), Order1:=xlAscending, Key2:=Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
nbLign = Application.CountIf(.[C3:C45], numEquip)
Set trouve = .Range("C2:C45").Find(numEquip, LookIn:=xlValues, LookAt:=xlWhole)
Set plageEquip = trouve.Resize(nbLign, 24)
Set ExistFichier = Nothing
On Error Resume Next
Set ExistFichier = Workbooks.Open(rep & "BD d'équipe " & numEquip & " Model.xls")
On Error GoTo 0
If ExistFichier Is Nothing Then
MsgBox "L'équipe " & numEquip & " n'a pas de fichier." & vbCrLf & _
"Veuillez en créer un.", vbExclamation
Exit Sub
End If
Sheets("Data").Select
plageEquip.Copy
derLign = IIf(Range("C" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("C" & Rows.Count).End(xlUp).Row + 1)
With Cells(derLign, 3)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
'suppression des doublons
Columns(3).Insert xlToRight
For Each cel In Range("D" & derLign).Resize(nbLign)
doublon = Evaluate("SumProduct((" & Range("D3:D" & derLign - 1).Address & "=" & cel.Value & ")*(" & Range("E3:E" & derLign - 1).Address & "=" & cel.Offset(, 1).Value & "))")
If doublon > 0 Then Cells(cel.Row, 3).Value = "$$$"
Next cel
Set trouve = Range("C" & derLign).Resize(nbLign).Find("$$$", LookAt:=xlWhole)
If Not trouve Is Nothing Then
For i = nbLign + derLign - 1 To derLign Step -1
If Cells(i, 3) = "$$$" Then Rows(i).Delete
Next i
End If
Columns(3).Delete
derLignC = Range("C" & Rows.Count).End(xlUp).Row
derLignA = IIf(Range("A" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("A" & Rows.Count).End(xlUp).Row + 1)
If derLignC > derLignA Then
For i = derLignA To derLignC
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End If
Application.DisplayAlerts = False
.Delete
End With
End SubDan a écrit :Attention que la feuille ne doit pas être protégée aussi...
les deux fichiers ne sont pas protéges
re,
Attention que pour l'exécution tu dois toujours partir de la sub consolide() sinon le code Sub Cde_Equip ne fonctionnera pas
Remplace le début du code par ceci :
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
.Range("C3:Z45").Sort Key1:=.Range("C3"), Order1:=xlAscending, Key2:=.Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
nbLign = Application.CountIf(.Range("C3:C45"), numEquip)
End with
....A te relire
Dan,
Oui , j'exécute tous le macro.
Ce code là
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
ActiveSheet.Range("C3:Z45").Sort _
Key1:=.Range("C3"), _
Key2:=.Range("D3")
With .Sort
.SetRange Range("C3:Z45")
.Orientation = xlTopToBottom
.Apply
End With
nbLign = Application.CountIf(.[C3:C45], numEquip)
Set trouve = .Range("C2:C45").Find(numEquip, LookIn:=xlValues, LookAt:=xlWhole)
Set plageEquip = trouve.Resize(nbLign, 24)
Set ExistFichier = Nothing
On Error Resume Next
Set ExistFichier = Workbooks.Open(rep & "BD d'équipe " & numEquip & " Model.xls")
On Error GoTo 0
If ExistFichier Is Nothing Then
MsgBox "L'équipe " & numEquip & " n'a pas de fichier." & vbCrLf & _
"Veuillez en créer un.", vbExclamation
Exit Sub
End If
Sheets("Data").Select
plageEquip.Copy
derLign = IIf(Range("C" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("C" & Rows.Count).End(xlUp).Row + 1)
With Cells(derLign, 3)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
'suppression des doublons
Columns(3).Insert xlToRight
For Each cel In Range("D" & derLign).Resize(nbLign)
doublon = Evaluate("SumProduct((" & Range("D3:D" & derLign - 1).Address & "=" & cel.Value & ")*(" & Range("E3:E" & derLign - 1).Address & "=" & cel.Offset(, 1).Value & "))")
If doublon > 0 Then Cells(cel.Row, 3).Value = "$$$"
Next cel
Set trouve = Range("C" & derLign).Resize(nbLign).Find("$$$", LookAt:=xlWhole)
If Not trouve Is Nothing Then
For i = nbLign + derLign - 1 To derLign Step -1
If Cells(i, 3) = "$$$" Then Rows(i).Delete
Next i
End If
Columns(3).Delete
derLignC = Range("C" & Rows.Count).End(xlUp).Row
derLignA = IIf(Range("A" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("A" & Rows.Count).End(xlUp).Row + 1)
If derLignC > derLignA Then
For i = derLignA To derLignC
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End If
Application.DisplayAlerts = False
.Delete
End With
End Sub
je remplace par ce code là
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
.Range("C3:Z45").Sort Key1:=.Range("C3"), Order1:=xlAscending, Key2:=.Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
nbLign = Application.CountIf(.Range("C3:C45"), numEquip)
End With
nbLign = Application.CountIf(.[C3:C45], numEquip)
Set trouve = .Range("C2:C45").Find(numEquip, LookIn:=xlValues, LookAt:=xlWhole)
Set plageEquip = trouve.Resize(nbLign, 24)
Set ExistFichier = Nothing
On Error Resume Next
Set ExistFichier = Workbooks.Open(rep & "BD d'équipe " & numEquip & " Model.xls")
On Error GoTo 0
If ExistFichier Is Nothing Then
MsgBox "L'équipe " & numEquip & " n'a pas de fichier." & vbCrLf & _
"Veuillez en créer un.", vbExclamation
Exit Sub
End If
Sheets("Data").Select
plageEquip.Copy
derLign = IIf(Range("C" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("C" & Rows.Count).End(xlUp).Row + 1)
With Cells(derLign, 3)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
'suppression des doublons
Columns(3).Insert xlToRight
For Each cel In Range("D" & derLign).Resize(nbLign)
doublon = Evaluate("SumProduct((" & Range("D3:D" & derLign - 1).Address & "=" & cel.Value & ")*(" & Range("E3:E" & derLign - 1).Address & "=" & cel.Offset(, 1).Value & "))")
If doublon > 0 Then Cells(cel.Row, 3).Value = "$$$"
Next cel
Set trouve = Range("C" & derLign).Resize(nbLign).Find("$$$", LookAt:=xlWhole)
If Not trouve Is Nothing Then
For i = nbLign + derLign - 1 To derLign Step -1
If Cells(i, 3) = "$$$" Then Rows(i).Delete
Next i
End If
Columns(3).Delete
derLignC = Range("C" & Rows.Count).End(xlUp).Row
derLignA = IIf(Range("A" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("A" & Rows.Count).End(xlUp).Row + 1)
If derLignC > derLignA Then
For i = derLignA To derLignC
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End If
Application.DisplayAlerts = False
.Delete
End With
End Sub
mais la même "faute" est toujours là.
re,
C'est pas ce que je t'avais indiqué plus haut. Il y a deux fois la même instruction ("application countif" et "set trouve")
Sub Cde_Equip(Maitre As Workbook, FeuilBase As Worksheet, ByVal rep As String, ByVal numEquip As Long)
Dim nbLign As Long, derLign&, i&, derLignA&, derLignC&
Dim trouve As Range, plageEquip As Range
FeuilBase.Copy before:=Maitre.Sheets(1)
With ActiveSheet
.Range("C3:Z45").Sort Key1:=.Range("C3"), Order1:=xlAscending, Key2:=.Range("D3") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
nbLign = Application.CountIf(.Range("C3:C45"), numEquip)
Set trouve = .Range("C2:C45").Find(numEquip, LookIn:=xlValues, LookAt:=xlWhole)
Set plageEquip = trouve.Resize(nbLign, 24)
Set ExistFichier = Nothing
On Error Resume Next
Set ExistFichier = Workbooks.Open(rep & "BD d'équipe " & numEquip & " Model.xls")
On Error GoTo 0
If ExistFichier Is Nothing Then
MsgBox "L'équipe " & numEquip & " n'a pas de fichier." & vbCrLf & _
"Veuillez en créer un.", vbExclamation
Exit Sub
End If
Sheets("Data").Select
plageEquip.Copy
derLign = IIf(Range("C" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("C" & Rows.Count).End(xlUp).Row + 1)
With Cells(derLign, 3)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
'suppression des doublons
Columns(3).Insert xlToRight
For Each cel In Range("D" & derLign).Resize(nbLign)
doublon = Evaluate("SumProduct((" & Range("D3:D" & derLign - 1).Address & "=" & cel.Value & ")*(" & Range("E3:E" & derLign - 1).Address & "=" & cel.Offset(, 1).Value & "))")
If doublon > 0 Then Cells(cel.Row, 3).Value = "$$$"
Next cel
Set trouve = Range("C" & derLign).Resize(nbLign).Find("$$$", LookAt:=xlWhole)
If Not trouve Is Nothing Then
For i = nbLign + derLign - 1 To derLign Step -1
If Cells(i, 3) = "$$$" Then Rows(i).Delete
Next i
End If
Columns(3).Delete
derLignC = Range("C" & Rows.Count).End(xlUp).Row
derLignA = IIf(Range("A" & Rows.Count).End(xlUp).Row + 1 < 3, 3, Range("A" & Rows.Count).End(xlUp).Row + 1)
If derLignC > derLignA Then
For i = derLignA To derLignC
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End If
Application.DisplayAlerts = False
.Delete
End With
End SubChez moi cela bug aussi sur l'instruction de tri mais la raison est que la feuille commande dans le fichier donné par VBANEW est protégée. Il faut déprotéger la feuille et je ne connais pas le mot de passe
Me dit pas que c'est juste pour çaDan a écrit :Chez moi cela bug aussi sur l'instruction de tri mais la raison est que la feuille commande dans le fichier donné par VBANEW est protégée. Il faut déprotéger la feuille et je ne connais pas le mot de passe
re,
Me dit pas que c'est juste pour ça Le mot de passe est aaa
Oui Vbanew !
Mais cela ne concerne pas Baton puisqu'il dit que sa feuille n'est pas protégée
Amicalement
Bonsoir Dan & Vba-New,
Merci beaucoup!!! Je vais essayer demain de vérifier comment ca marche.
Le fichier BD était protégé, mais j'ai ôté la protection.
Est-ce que des macros ne marchent jamais sur les feuilles protégées?
Je voudrais protéger le plus possible pour maximalement éviter ou diminuer le risque
du travail ne pas "correct".
Dan,
Je ne maitrise pas bien le français et même si tu donnes des instructions claires, pas toujours je suis capable de les comprendre. Le français n'est pas une langue facile
Je comprends bien que vous avez assez du travail et je suis très loi de penser de vous embêter pour le plaisir...
Je reviens demain avec des nouvelles.
baton