Où est le bug & Cmt désactiver les MAJ des données

Bonjour à tous

Je suis en train de créer gentillement un tableau récapitulatif de 9 tableaux. J'ai pondu (gràce à ami) un code qui calcule les bonnes sommes aux bons endroits (en fonction de la semaine). Cependant pour un 1 tableau ça ne marche pas. J'ai beau comparé cette macro aux autres qui marchent bien, je trouve pas . Voici la maro qui ne fonctionne pas (la ligne qui bug est surlignée)

Sub donneeRecepFL()
'Déclaration
Dim compteurcolonne As Long
Dim numsemaine As String
Dim fichierexcel_FL As String
Dim receptionFL As Workbook
Dim recap As Workbook
Dim receptionFLWks As Worksheet
Dim rewapwks As Worksheet
Dim rangesemaine As Range
Dim ligne As Range
Dim calcul As Range
Dim tempstr As String

'initialisation
''''''''''''''''''''''''''''''''''''''''''''''' A MODIFIER '''''''''''''''''''''
fichierexcel_FL = "TB Réception ULF&FEL 2011 Juin à Décembretest"
repertoirefichierreception = "\\PROFILE\HDIR$\h.rapenomanjato.BIOCOOP\TB Juin à Décembre 2011\"
'''''''''''''''''''''''''''''''''''''''''''''' A MODIFIER ''''''''''''''''''''''

i = 0
Set recap = ActiveWorkbook
Set receptionFL = Workbooks.Open(repertoirefichierreception & fichierexcel_FL, , ReadOnly)
Set receptionFLWks = receptionFL.Worksheets("TB recep FEL")
Set recapwks = recap.ActiveSheet

'Traitement
While recapwks.Range("D1").Offset(0, i).Value <> ""     'Pour chaque Semaine

    'Recherche Range correspondant au numéro de semaine dans le fichier Recpetion
    Set rangesemaine = receptionFLWks.Range("A1", "IV1").Find(recapwks.Range("D1").Offset(0, i).Value)
    If Not rangesemaine Is Nothing Then  'Si on a trouvé une la semaine correspondante (semaine de 7 jours)

        Set rangesemaine = rangesemaine.Offset(1, 0)

        Set calcul = receptionFLWks.Columns(Split(rangesemaine.Address, "$")(1) & ":" & Split(rangesemaine.Offset(0, 6).Address, "$")(1))
'''''''''''NAVETTE''''''''''''''

        'Nb de palette SEC déchargées

        'Réception FL
        Set ligne = Intersect(Rows("9, 9"), calcul)
        tempstr = "=SUM('[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ","
        Set ligne = Intersect(Rows("14, 14"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ","
        Set ligne = Intersect(Rows("19, 19"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ")"
        recapwks.Range("D1").Offset(5, i).Formula = tempstr

        'Nb de palettes ULF déchargées

        'Réception FL
        Set ligne = Intersect(Rows("10, 10"), calcul)
        tempstr = "=SUM('[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ","
        Set ligne = Intersect(Rows("15, 15"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ","
        Set ligne = Intersect(Rows("20, 20"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ")"
        recapwks.Range("D1").Offset(11, i).Formula = tempstr

        'Nb de palettes F&L déchargées

        'Réception FL
        Set ligne = Intersect(Rows("11, 11"), calcul)
        tempstr = "=SUM('[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ","
        Set ligne = Intersect(Rows("16, 16"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ","
        Set ligne = Intersect(Rows("21, 21"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ")"
        recapwks.Range("D1").Offset(17, i).Formula = tempstr
 '''''''FRANCO''''''''''''''

        'Nb de palettes FL déchargées
        Set ligne = Intersect(Rows("30, 30"), calcul)
        tempstr = "=SUM('[" & fichierexcel_FL & "]TB recep FEL'!R" & ligne.Row & "C" & ligne.Column & ":R" & ligne.Row & "C" & ligne.Offset(0, 6).Column & ")"
        recapwks.Range("D1").Offset(28, i).Formula = tempstr

    End If
    i = i + 1
Wend

receptionFL.Close saveschanges = False
End Sub

Et puis à chaque fois que je lance une de mes 8 macros qui marchent, pour chaque calcul il me demande de mettre à jour les données du tableau sur lequel il est en train de faire les calcul...Puisque j'ai pas mal de calculs c'est très embêtant Que faut-il faire?

Merci d'avance de vos réponses.

H.Rap

Bonjour

J'ai utilisé ta macro et pas de plantage (suis avec XL 2003)

H.Rap a écrit :

pour chaque calcul il me demande de mettre à jour les données du tableau sur lequel il est en train de faire les calcul..

Pour cela tu dois modifier

Soit le nom du fichier en incluant l'extension

fichierexcel_FL = "TB Réception ULF&FEL 2011 Juin à Décembretest.xls"

Soit dans chaque formule il faut rajouter l'extension

        'Réception FL
        Set ligne = Intersect(Rows("9, 9"), calcul) 
        tempstr = "=SUM('[" & fichierexcel_FL & ".xls]TB recep FEL'!R" & 
        Set ligne = Intersect(Rows("14, 14"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & ".xls]TB recep FEL'!R" & 
        Set ligne = Intersect(Rows("19, 19"), calcul)
        tempstr = tempstr & "'[" & fichierexcel_FL & ".xls]TB recep FEL'!R" & 
        recapwks.Range("D1").Offset(5, i).Formula = tempstr
' etc sur toutes les lignes dans lesquelles tu construis ta formule
Rechercher des sujets similaires à "bug cmt desactiver maj donnees"