Voilà, je souhaite supprimer des colonnes dans un fichier .dbf selon une liste définie dans un fichier excel.
J'ai donc créé un fichier excel dans lequel j'ai repris les intitulés (champs) des colonnes et je coche dans ce fichier les colonnes du fichier .dbf à supprimer.
Ce fichier excel me donne le résultat dans la cellule "K4" sous forme "B:D,F:F,I:T" (par exemple)
Mais lorsque j'ouvre le fichier .dbf dans excel, et que je demande à sélectionner les colonnes, j'ai un message d'erreur 1004 : erreur définie par l'application ou par l'objet.
Voici le code dans le fichier excel ( écrit dans le module 1)
Public Sub definition_col_a_suppr()
Dim listecol As String
listecol = """"
d = 1
c = 3
Do While c < 37
If Worksheets("INIT").Range("C" & c).Value = "OUI" Then
d = c
Do While Worksheets("INIT").Range("C" & d).Value = "OUI"
d = d + 1
Loop
listecol = listecol & Worksheets("INIT").Range("b" & c).Value & ":" & Worksheets("INIT").Range("b" & d - 1).Value & ","
c = d
Else
c = c + 1
End If
Je pense que tu n'a pas besoin de mettre des " au début et à la fin.
Je ferais plutot
Public Sub definition_col_a_suppr()
Dim listecol As String
d = 1
C = 3
<strike> </strike><strike>listecol = """"</strike>
Do While C < 37
If Worksheets("INIT").Range("C" & C).Value = "OUI" Then
d = C
Do While Worksheets("INIT").Range("C" & d).Value = "OUI"
d = d + 1
Loop
listecol = listecol & Worksheets("INIT").Range("b" & C).Value & ":" & Worksheets("INIT").Range("b" & d - 1).Value & ","
C = d
Else
C = C + 1
End If
Non, c'est la première chose à laquelle j'ai regardé... Ce sont bien des "," qu'Excel attend.
J'ai essayé avec le texte en "clair" ( range ("B:D,F:F,I:T" ).select ) au lieu d'une variable et cela fonctionne ( avec "," comme séparateur )...
J'ai aussi essayé de mettre range ("listecol").select... mais c'est tjs le même résultat...
@+