IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modif code VBA copie colle sous condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 52
    Points : 19
    Points
    19
    Par défaut Modif code VBA copie colle sous condition
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    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
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour,

    Si une ligne a été copiée grâce au "V" puis ce "V" a été supprimé,
    la suppression de cette ligne du planning réel a-t-elle été prévue dans le code ?

    Sinon à toi de repérer une ligne sans "V" copiée quand même puis de suivre le code en mode pas à pas (touche F8)
    afin de comprendre ce qu'il se passe …


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 52
    Points : 19
    Points
    19
    Par défaut
    Oui si le V est enlevé du prévi, ça s'enlève du réel dans le code.
    Cela fait près d'une semaine que je cherche mais je ne trouve pas l'erreur :'(

Discussions similaires

  1. [XL-2007] Copie cellule sous condition d'une feuille sur une autre en VBA
    Par Natchway dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/01/2015, 17h12
  2. [XL-2010] Aide pour modification d'un code VBA (Fonction Ping sous Excel)
    Par osiris13010 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/07/2012, 14h16
  3. [XL-2007] copie colle sous condition et si case remplie en dessous
    Par mamour007 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/03/2010, 09h37
  4. VB Excel copié/collé sous conditions entre 2 classeurs
    Par Popogrigri dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 20/01/2010, 10h27
  5. code VBA copie colle cellule d'1 fichier excel à 1autre
    Par tony020422 dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 03/06/2009, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo