Probleme de reference

Bonjour, j'ai un petit soucis dans ma formule

Set plage1 = Sheets("ep").Range("F7:BE7")

il va bien sur ma feuille ep

sauf que cette feuille ce trouve la

[Planning_EP.xlsm]ep!

merci

Bonjour,

Et alors

j'ai fait un test en mettant la feuille sur le meme classeur sauf qu'elle se trouve sur un autre classeur et je c'est pas comment l'ecrire

Set plage1 = Workbooks("Planning_EP.xlsm").Sheets("ep").Range("F7:BE7")

Cordialement.

Bonjour,

en notation abrégée :

Set plage1 = [[Planning_EP.xlsm]ep!F7:BE7]

dhany

merci

la macro avec le lien complet mais ca marche pas

Sub ep_33111()

'equipe A

Dim plage1 As Range, plage2 As Range, jour, c As Range, j As Variant

Set plage1 = Workbooks("\\atlas.edf.fr\CO\45dam-dpn\restreint.007\ps.004\Pap_pcp\LISTES\Planning_EP.xlsm").Sheets("ep").Range("F7:BE7")

Set plage2 = Workbooks("\\atlas.edf.fr\CO\45dam-dpn\restreint.007\ps.004\Pap_pcp\LISTES\Planning_EP").Sheets("ep").Range("F2:BE2") 'ligne 2 et non pas 5

jour = Array("jeu") 'liste à adapter

With Application

.ScreenUpdating = False

Range("C13:NC13").ClearContents

For Each c In Range("C13:NC13")

If UCase(c.Offset(-8)) = "A" Then 'M,A,N

If IsNumeric(.Match(c.Offset(-11), jour, 0)) Then

i = .Match(c.Offset(-10), plage2)

If IsNumeric(i) Then If UCase(plage1(i)) = "A" Then c = 6 'equipe

End If

End If

Next

End With

End Sub

voici ton code mis entre balises, indenté, et un peu modifié :

Sub ep_33111()
  'equipe A
  Dim wb$, sh As Worksheet, plage1 As Range, plage2 As Range, jour, c As Range, j As Variant
  wb = "\\atlas.edf.fr\CO\45dam-dpn\restreint.007\ps.004\Pap_pcp\LISTES\Planning_EP.xlsm"
  Set sh = Workbooks(wb).Worksheets("ep"): Set plage1 = sh.[F7:BE7]: Set plage2 = sh.[F2:BE2]
  jour = Array("jeu") 'liste à adapter
  With Application
    .ScreenUpdating = False: [C13:NC13].ClearContents
    For Each c In [C13:NC13]
      If UCase$(c.Offset(-8)) = "A" Then 'M,A,N
        If IsNumeric(.Match(c.Offset(-11), jour, 0)) Then
          i = .Match(c.Offset(-10), plage2)
          If IsNumeric(i) Then If UCase$(plage1(i)) = "A" Then c = 6 'equipe
        End If
      End If
    Next c
  End With
End Sub

il sera p't'être pas fonctionnel, mais j'crois qu'c'est quand même un progrès ; note que ton très long chemin n'apparaît qu'une fois, donc en cas de changement de répertoire, y'a un seul endroit du code à modifier.

dhany

oui tu as raison ca marche pas mais c'est plus simple

merci pour ton retour ! j'laisse la suite à un autre intervenant, mais ça serait plus facile si tu joins tes fichiers.

j'te souhaite bonne chance !

dhany

merci j'ai trouvé

merci pour ton retour, mais ça serait bien que tu indiques les modifs que tu as faites pour y arriver : ça pourrait intéresser d'autres personnes qui ont le même problème que le tien.

de plus, tu peux passer le sujet en résolu : tu dois cliquer sur le bouton qui est près du bouton (regarde dans le coin haut droit de ton message) ; toi seul peut le faire car c'est toi qui a créé ce sujet ; tu sauras que tu as réussi quand tu verras un petit rond vert avec une coche, comme ceci :

sujet

(ça permet aussi de clôturer le fil de la discussion)

dhany

Bonjour,

Permets-moi devant ton laconisme de te faire remarquer que tu as eu des proposition tout à fait fonctionnelles, dont tu as prétendu qu'elles ne fonctionnaient pas, et pour cause puisque tu ne les appliquait pas !

Tu as besoin du chemin si tu entends ouvrir le classeur. S'il est ouvert ou une fois ouvert, l'utilisation de la propriété Workbooks pour renvoyer un seul classeur de la collection des classeurs ouverts dans l'application, implique soit un numéro d'index, soit le nom du classeur (propriété Name et non FullName !)

Le nom du classeur est "Planning_Ep.xlsm", et c'est ce qu'il convient d'utiliser pour que ça fonctionne, et c'est bien ce qui t'avait été proposé !

De plus, tu l'écris une seconde fois sous la forme "Planning_EP", sans l'extension. Ce qui n'est pas recommandé non plus, car le nom sans extension ne peut fonctionner que si tu n'affiches pas les extensions dans l'explorateur Windows ! Ce qu'il n'est par ailleurs pas recommandé de faire, notamment pour des raisons de sécurité... Et il y a toutes chances pour que si cela fonctionnait sur l'ordi. utilisé pour la mise en place de ta commande, cela cesse de fonctionner en changeant d'ordi... ce qui n'est jamais le but recherché !

Tes excuses sont acceptées.

Rechercher des sujets similaires à "probleme reference"