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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager