Pourquoi ce #REF! ?

Bonjour,

J'ai un tableur avec une feuille de références.....et une autre feuille qui copie les lignes de la feuille de références si....tel élément y figure via un code proposé ici.

Cela fonctionne très bien avec des cellules "orignales" mais dès qu'il s'agit de cellules liées ==> #REF!

Qui a une solution ?

Il me semble qu'avec ce code...mon tableur se bloque très facilement, possible ou pas ?

Cordialement

Tonthon

Bonjour Tonthon

Utilises ce code pour ne plus avoir de problème

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
' Ce code est lancé après qu'une feuille quelconque ait été activée
  Dim i As Integer, j As Integer
  Application.ScreenUpdating = False

  'If Range("A1") = "Sécurité" Or Range("A1") = "Caisse" Or Range("A1") = "Vendeurs" Or Range("A1") = "ELS" Then
  If Range("E1") > 0 Then
    ' Si la cellule A1 de la feuille sélectionnée comporte l'une de ces abréviations, alors ...
    ' (Sinon il ne se passe rien et le code s'arrête là)

    Range("A3:K200").ClearContents
    ' ... on vide le contenu des lignes 3 à 200 de la feuille sélectionnée et ...

    With Sheets("Tableur FRANCE")
      ' With / End With permet de travailler sur deux feuilles en parallèle
      ' Ci-dessous, les reférences avec un point devant concerne la feuille
      ' indiquée ci-dessus, les références sans point celles de la feuille sélectionnée

      For i = 3 To .Range("A200").End(xlUp).Row
        ' Permet de passer en revue toutes les lignes de la feuille "Planning général jusqu'à ligne 200"

        If .Range("A" & i) = Range("E1") Then
          ' Si la cellule de la colonne E de la ligne passée en revue de la feuille "Planning général"
          ' correspond à la cellule A1 de la feuille sélectionnée alors .......

          j = Sh.Range("A200").End(xlUp).Row + 1
          ' On cherche à chaque fois quelle est la première ligne vide de la feuille sélectionnée ...

          .Range("A" & i & ":K" & i).Copy
          ' Coller uniquement les valeurs
          Sh.Range("A" & j).PasteSpecial Paste:=xlValues
          ' ... et on copie la ligne concernée de la feuille "Planning général"
          ' pour la coller après la dernière ligne de la feuille sélectionnée

        End If
      Next i
    End With
  End If
End Sub

A+

Bonjour BrunoM45

Super génial....j'ai bien toutes les lignes y compris celles avec cellules avec liaison.

Mais, parce qu'il y a un mais...une fois ce code inséré dans le tableur d'une association qui contient déjà pas mal de codes....cela créé la pagaille....des cellules qui ne s'affichent plus....cela bloque parce que j'ai une feuille "protégée" et quand je déverrouille la protection cela semble fonctionner mais le problème de cellules qui ne 'affichent subsiste.

Si tu vois d'où cela peut provenir....je suis preneur.

Cordialement

Re,

Difficile de te répondre comme ça sans le vrai fichier avec toutes ces macros

Tu peux :

1) faire une copie du fichier initial

2) effacer toutes les valeurs personnelles

Après nous pourrons tester

a+

Bonjour BrunoM45

C'est une bonne idée...mais je pars en congés donc pas le temps de "dépersonnaliser" le tableur qui est assez conséquent.

Si tu le veux bien, je te propose de revenir vers toi par mp à mon retour.

J'ai contourné le problème en créant un nouveau tableur avec une feuille liée au lieu d'intégrer "les régions" dans le tableur existant où ce code créé une grosse pagaille !

Merci encore pour ta solution

Cordialement

Rechercher des sujets similaires à "pourquoi ref"