Code VBA

Bonjour

je suis novice en VBA, je veux que quelqu'un me perfectionne ce bout de code.

dans mon fichier j'ai en feuil1 deux colonnes A & B remplies par des valeurs (ça peut aller jusqu'à 500 lignes).

je veux par un bouton copier le contenu de deux colonnes A& B de Feuil1 dans les colonnes A& B de la Feuil2, mais avec une condition ce qui se trouve en A3 & B3 en Feuil1 se copie en A3 & B3 en Feuil2

et qui se trouve en A4 & B4 en Feuil1 se copie en A6 & B6 en feuil2, et qui se trouve en A5 & B5 en Feuil1 se copie en A9 & B9 en feuil2 et ainsi de suite....

et je veux un autre bouton pour supprimer le contenu de deux colonnes A & B en Feuil2.

merci.

12test-copie.xlsm (21.00 Ko)

Bonjour Louja,

Voici un code expliqué pour une façon de faire

Sub CopieIncrémentée()
  Dim DLig As Long, LigS As Long, LigD As Long
  Dim ShtS As Worksheet, ShtD As Worksheet
  ' Initialiser la ligne de destination
  LigD = 0
  ' Définire la feuille de destination
  Set ShtD = Worksheets("Feuil2")
  ' Activer la feuille (pas obligatoire)
  ShtD.Activate
  ' Effacer le contenu de la feuille de destination
  ShtD.Cells.Clear

  ' Définir la feuille source
  Set ShtS = Worksheets("Feuil1")
  ' Dernière ligne de la feuille source
  DLig = ShtS.Range("A" & Rows.Count).End(xlUp).Row

  ' Avec chaque ligne de la feuille source
  For LigS = 3 To DLig
    ' Incrémenter la ligne de destination
    LigD = LigD + 3
    ' Inscrire les valeurs
    ShtD.Range("A" & LigD).Value = ShtS.Range("A" & LigS)
    ShtD.Range("B" & LigD).Value = ShtS.Range("B" & LigS)
  Next LigS
  ' effacer les variables objet
  Set ShtD = Nothing: Set ShtS = Nothing
End Sub

A+

Bonjour

c'est Nickel

y'a t il possibilité d'ajouter une ligne pour garder le format existant au moment de l'exécution de cette commande "ShtD.Cells.Clear"

Merci d'avance

Re,

Oui au lieu de "Clear" tu utilises "ClearContents" = contenu

Rechercher des sujets similaires à "code vba"