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 :

Intégrer un offset


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2008
    Messages : 150
    Par défaut Intégrer un offset
    voici mon code:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    Sub Archivage()
    '
    ' Archivage Macro
    Sheets("TdP").Select
        Dim I     As Long
        Dim Plage As Range
        Set Plage = Range("k100:k10")
        For I = Plage.Cells.Count To 1 Step -1
            If Plage.Cells(I).Value = "" Then
                Plage.Cells(I).EntireRow.Delete
            End If
    Next
     
    Dim repere As String
     
    Sheets("Archivage").Select
        If Range("k4") = "" Then
            repere = "j7"
        Else: repere = Range("k4").Value
            repere = Range(repere).Offset(0, 4).Address 'décalage du collage de la date
     
        End If
     
    Range("k4").Value = repere
     
     
    Sheets("TdP").Select
    Range("DATE2").Select
        Selection.Copy
        Sheets("Archivage").Select
        Range(repere).Select
        Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks _
            :=False, Transpose:=False
     
     
    Dim cellule As String ' dans TdP
    Dim valeur As Double 'identifiant
    Dim cellarchive As String 'identifiant archive
    Dim destination As String 'colonne pesée
    Dim ecrit As Boolean
     
        Sheets("TdP").Select
        cellule = "c10"
     
     
    While (Range(cellule).Value <> "")
        identifiant = Range(cellule).Value
        cellulevaleur = "k" & Right(cellule, Len(cellule) - 1)
        cellulefin = "B" & Right(cellule, Len(cellule) - 1)
        datenaiss = "D" & Right(cellule, Len(cellule) - 1)
        race = "E" & Right(cellule, Len(cellule) - 1)
        valeur = Range(cellulevaleur).Value
     
        cellarchive = "c10"
        ecrit = False
            Sheets("Archivage").Select
            While (Range(cellarchive).Value <> "" And ecrit <> True)
                If (Range(cellarchive).Value = identifiant) Then
                destination = "i" & Right(cellarchive, Len(cellarchive) - 1) 'je souhaite que cette colonne de destination se décale aussi
     
                Range(destination).Value = valeur
                ecrit = True
                End If
            cellarchive = "c" & (Right(cellarchive, Len(cellarchive) - 1) + 1)
            Wend
            If (ecrit = False) Then
                debut = "B" & Right(cellarchive, Len(cellarchive) - 1)
                fin = "C" & Right(cellarchive, Len(cellarchive) - 1)
                naiss = "d" & Right(cellarchive, Len(cellarchive) - 1)
                race = "e" & Right(cellarchive, Len(cellarchive) - 1)
                newvaleur = "i" & Right(cellarchive, Len(cellarchive) - 1)
     
                Sheets("TdP").Select
                Range(cellule, cellulefin).Copy
                Sheets("Archivage").Select
                Range(debut).PasteSpecial (xlPasteValues)
                Range(newvaleur).Value = valeur
     
                Sheets("TdP").Select
                Range(datenaiss, race).Copy
                Sheets("Archivage").Select
                Range(naiss).PasteSpecial (xlPasteValues)
                Range(newvaleur).Value = valeur
           End If
     
            cellule = "C" & (Right(cellule, Len(cellule) - 1) + 1)
            Sheets("Tdp").Select
    Wend
     
     
     
     
    End Sub
    Quand la première zone de collage est prise, la date se décale de 4 colonnes.Comment dois-je intégrer mon offset dans le collage de ma
    colonne k. Par exemple elle doit se coller en i puis en n....

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En utilisant une variable incrémentée pour l'offset(0, colonne), peut-être...
    ... si j'ai bien compris la question

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. intégrer police
    Par mat10000 dans le forum Flash
    Réponses: 30
    Dernier message: 14/11/2007, 13h18
  2. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  3. Intégrer OpenGL et HTML
    Par the_ricou dans le forum OpenGL
    Réponses: 10
    Dernier message: 14/02/2004, 10h18
  4. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52
  5. Qu'est ce qu'un offset
    Par gtr dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/12/2002, 08h53

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