Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Soucis Code VBA copie colle sous condition

d.deneys

XLDnaute Junior
Bonsoir,
Dans le fichier joint, il y a un code qui permet de copier les données d'un planning prévi vers un planning réel sous condition que il y ai un "V" dans la case confirmer.

Code:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim varL As Integer, LigDate As Integer
'********************************************************************************
'ci-dessous agit sur le "V"
If Sh.Name Like "Prévi*" Then
  varcol = Target.Column 'on affecte le N° de col de la cellule qui change
  varL = Target.Row
  If varcol = 11 Or varcol = 21 Or varcol = 31 Or varcol = 41 Or varcol = 51 Then 'on trie les cellules concernées
    varL = Target.Row 'on donne le N° de ligne à la variable
    Application.EnableEvents = False
    Target.Value = UCase(Target.Value) 'on remet le "v" en majuscule
    Application.EnableEvents = True
    With ActiveSheet
      Varfeuille = "Reel " & Right(.Name, Len(.Name) - 6) 'ça aussi
    End With
    With Sheets(Varfeuille)
      For x = 11 To 61 'on fait une boucle
        .Range(.Cells(varL, x - 8), .Cells(varL, x)).ClearContents 'donc on efface à la premire boucle C5:K5 _
        M5:U5 à la deuxième, etc. jusqu'au bout de la ligne
      Next x
      For x = 11 To 61 Step 10 'une boucle pour donner les nouvelles valeurs
        If Sh.Cells(varL, varcol) = "V" Then 'donc si on donne V à K,U etc.
          If Sh.Cells(varL, x + 3) = Sh.Cells(varL, varcol - 7) Then
            Application.EnableEvents = False
            Sh.Cells(varL, x + 10) = Sh.Cells(varL, varcol)
            Application.EnableEvents = True
          End If
          .Range(.Cells(varL, x - 8), .Cells(varL, x)).Formula = Sh.Range(Sh.Cells(varL, x - 8), Sh.Cells(varL, x)).Formula
        End If
      Next x
    End With

Cependant, les données a certains endroits ce copient même s'il n'y a pas le "V" (pour exemple dans le septembre réel au 30/09 -> Baas CM00058 Baas C01156-R2.

Le fichier complet fait plus de 24 feuilles donc je ne met que 1 mois en exemple.
Je n'arrive pas a trouver ce qui coince dans le code...

Merci d'avance
 

Pièces jointes

  • Classeur1.xlsm
    242.9 KB · Affichages: 43
  • Classeur1.xlsm
    242.9 KB · Affichages: 51
  • Classeur1.xlsm
    242.9 KB · Affichages: 49
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…