La méthode Range de l'objet "_Global" a échoué (1004)
Bonjour,
Je suis en train de convertir une macro Excel 4 en VBA sous Excel 2019 Mac.
Si tout se passe à peu près bien, je bute sur un cas que je n'arrive pas à résoudre. Alors je fais appel aux experts ...
J'ai un classeur "AmacesbwNewX.xlsm" qui comporte trois onglets ("Accueil" avec les boutons d'appels aux macros, "Macesbe" qui est la macro elle-même, "Param" qui contient des valeurs utiles). Au lancement plusieurs classeurs sont ouverts (et restent masqués), par exemple "FCommand.xlsx" qui est un fichier avec un seul onglet "Commandes". Dans cet onglet, plusieurs plages sont nommées "BasFcom", "ColCli" ... etc. Je souhaite à partir de boites de dialogue, alimenter cette base de commandes.
Malheureusement je n'arrive pas à accèder à ces plages nommées et j'ai toujours ce fameux message d'erreur 1004 (voir titre). L'erreur apparait sur la ligne en rouge. J'ai essayé avec "With Worksheets("Commandes") ou "With Worksheets(1) ou encore directement avec "With Range("BasFCom") directement sans succès.
Alors si une brave âme pouvait m'indiquer où je foire .... je lui serais très reconnaissant. Voir ci dessous une partie du code utilisé.
Merci pour votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| Sub RempComm()
Dim DerLigneC As Integer
Dim NumligC As Integer, NumColC As Integer
Dim NbLigC As Integer, NbColC As Integer
Dim NumColFac As Integer
Dim NumColCli As Integer
Dim NumColNoBL As Integer
Dim NumColDaBL As Integer
Dim sh0 As Worksheet
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim xWbC As Workbook
Dim xNameStringC As String
Dim xnameC As Name
Set sh0 = ActiveWorkbook.Sheets("Accueil")
Set sh1 = ActiveWorkbook.Sheets("MacEsbe")
Set sh2 = ActiveWorkbook.Sheets("Param")
Workbooks("FCommand.xlsx").Activate
Set sh0C = ActiveWorkbook.Sheets(1)
'With Worksheets("Commandes")
With Range("BasFCOM")
'Récupération de la ligne et colonne de gauche de la base BasFCom
'Récupération du nombre de lignes et de colonnes de la base BasFCom
NumligC = Range("BasFCom").Row
NumColC = Range("BasFCom").Column
NbLigC = Range("BasFCom").Rows.Count
NbColC = Range("BasFCom").Columns.Count
'Récupération du numéro de colonne des plagesVéhNom, VéhImm et VéhClé
'le numéro de ligne de ces plages est égal à celui de BasFCom + 1 (sous la ligne titre)
'le nombre de lignes de ces colonnes nommées est égal à celui de BasFCom -1 (pas de ligne titre)
NumColFac = Range("ColFact").Column
NumColCli = Range("ColCli").Column
NumColNoBL = Range("ColNoBL").Column
NumColDaBL = Range("ColDateBL").Column
End With
.......
End Sub |