Comment Partager un fichier en reseau avec du VBA

yoaninho

XLDnaute Nouveau
donc j'ai un projet avec du vba dedans et j'ai besoins d'aide !
mon fichier et presque fini, il me reste quelques petite choses a faire mais je suis bloquer ! :

je n'arrive pas a utiliser en reseau mon fichier excel (2007), j'arrive a l'ouvrir mais dès que je souhaite activer une macro j'ai un message d'erreur qui apparait "erreur 1004"
j'aurait besoins que 4 personne au maximum puisse travailler en meme temps , et donc incrementer mon fichier ligne par ligne . j'aurai d'autre question mais vraiment celle ci , c'est la plus importante..
 

GeoTrouvePas

XLDnaute Impliqué
Re : Comment Partager un fichier en reseau avec du VBA

1) Je crois que le plus important, c'est surtout de commencer par dire bonjour tu crois pas ? (le tiercé parfait étant politesse, orthographe et clarté)

2) Si tu avais commencé par faire une petite recherche sur Google avec ton code d'erreur, tu aurais pu tomber sur des messages du genre (1er résultat sur lequel je suis tombé) :

L'erreur 1004 est une erreur très standard qui stipule un
débordement de l'indice de l'objet. Il est très difficile de
trouver ce genre d'erreur sans voir le code.

Cela t'aurai donc permis d'éviter le 3)

3) Sans un fichier exemple, sans voir ton code et sans savoir où ça plante, impossible de t'aider.
 
Dernière édition:

yoaninho

XLDnaute Nouveau
Re : Comment Partager un fichier en reseau avec du VBA

exact désolé, bonjour ,

Voila je m'explique (un peut plus clairement ) j'ai donc crée un fichier qui permet de rentrer au fur et a mesure des ligne sur un tableau excel grace à un formulaire userform. je l'ai donc mis sur le reseau en mode partagé pour voir si cela fonctionner. le fichier s'ouvre bien mais quant je souhaite faire apparaitre le formulaire, donc en appuyant sur un bouton de commande, j'ai donc un message d'erreur..l'erreur 1004 .
ci dessous le code du boutons d'appel de l'userforme :
Private Sub CommandButton5_Click()
If Range("d6") = "" Then
Range("B6:O6").Select
ActiveWindow.LargeScroll Down:=1
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 37
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 33
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 29
ActiveWindow.ScrollRow = 28
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 24
ActiveWindow.ScrollRow = 23
ActiveWindow.ScrollRow = 22
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
Range("B6:AO6").Select
Selection.Delete Shift:=xlUp
ActiveWindow.LargeScroll ToRight:=-3
Range("C6").Select

Else

ActiveWindow.SmallScroll Down:=-18
Range("B6:AO6").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
Range("E7").Select
Selection.AutoFill Destination:=Range("E6:E7"), Type:=xlFillDefault
Range("E6:E7").Select
Range("B7:C7").Select
Selection.AutoFill Destination:=Range("B6:C7"), Type:=xlFillDefault
Range("B6:C7").Select
Range("F6").Select
ActiveWindow.SmallScroll ToRight:=-1
Range("B6:AO6").Select
Range("AO6").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range("L7").Select
Selection.AutoFill Destination:=Range("L6:L7"), Type:=xlFillDefault
Range("L6:L7").Select
Range("N7").Select
Selection.AutoFill Destination:=Range("N6:N7"), Type:=xlFillDefault
Range("N6:N7").Select
ActiveWindow.SmallScroll ToRight:=5
Range("U7:Z7").Select
Range("Z7").Activate
Selection.AutoFill Destination:=Range("U6:Z7"), Type:=xlFillDefault
Range("U6:Z7").Select
ActiveWindow.SmallScroll ToRight:=12
ActiveWindow.SmallScroll Down:=-9
Range("T7").Select
Selection.AutoFill Destination:=Range("T6:T7"), Type:=xlFillDefault
Range("T6:T7").Select
Range("T9").Select
Selection.AutoFill Destination:=Range("T6:T9"), Type:=xlFillDefault
Range("T6:T9").Select
Range("b6").Select

UserForm1.Show
End If
End Sub


J'espere avoir etais assez clair.

merci d'avance pour votre reponse.
 

GeoTrouvePas

XLDnaute Impliqué
Re : Comment Partager un fichier en reseau avec du VBA

Comme je te disais dans le 3) de mon message précédent, impossible de t'aider sans savoir où ta macro plante, sur quelle ligne bloque - t - telle ???

Joint un exemple de ton fichier à ton prochain post car comme ça c'est insoluble.

P.S. : Utilise la balise "code" car là c'est vraiment illisible, surtout pour une aussi longue macro générée par l'enregistreur.
 

yoaninho

XLDnaute Nouveau
Re : Comment Partager un fichier en reseau avec du VBA

Mon fichier et trop volumineux.

désolé mais le VBA pour moi c'est tous recent. je ne voit pas ce que c'est la balise code .
en faite quand jessaye d'actionner ma macro en mode partagé, en dessous de l'erreur 1004 il est inscrit que "cette commande n'est pas disponible en mode partager".
c'est peut etre un reglage dans le partage ou autre choses ?
y a t'il des regles precises quant on partage un fichier sur un dossier commun ?

Merci d'avance.
 

GeoTrouvePas

XLDnaute Impliqué
Re : Comment Partager un fichier en reseau avec du VBA

Un extrait du fichier avec la macro concernée aurait suffit.

La balise code ne correspond pas à un fonction vba mais à une fonction du forum (c'est le petit dièse au dessus de la fenêtre où tu saisis tes messages). Tu sélectionne le code que tu veux poster, tu cliques sur le dièse et ça présente ton code selon une forme plus lisible.

Un bon moyen pour détecter l'endroit où ça plante est de placer des Msgbox numérotées un peu partout dans ton code. Tu te serais alors rendu compte que l'erreur vient de la ligne :

Code:
Selection.Delete Shift:=xlUp

Je ne suis pas un spécialiste des classeurs partagés mais apparement la suppression de ligne n'est pas possible en mode partagé.

A toi de trouver une solution pour éviter d'avoir à supprimer une ligne.
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 843
Membres
103 972
dernier inscrit
steeter