Renvoi d'info dans une whorksheet

cedricmucha

XLDnaute Nouveau
Amis "excelien(e)"

Voila j'aimerais me lancer dans la prog VBA de premier niveau si l'on peut appeler ça comme ceci.

J'aimerais qu'en cliquant sur mon bouton "archiver" les données de la plage A7:L7
Soit renvoyées dans la feuille archive à la condition que L7= Fait.
Pareil pour les plages A8:L8 ainsi de suite.

Par contre si il es possible dans le code VBA de m'expliquer chaque étape ce serait gentil afin que je puisse comprendre le fonctionnement.

Je vous en remercie d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Renvoi d'info dans une whorksheet

Bonsjour Cedric, bonsjour le forum,

En pièce jointe un exemple avec un bouton et le code associé à ce bouton :

Code:
Private Sub CommandButton1_Click() 'bouton "Copier"
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)
 
ActiveCell.Select 'enlève le focus au bouton
'boucle sur toutes les cellules éditées cel de la colonne L (en partant de la ligne 7)
For Each cel In Range("L7:L" & Range("L65536").End(xlUp).Row)
    If cel.Value = "Fait" Then 'condition : si la valeur de la cellule est "Fait"
        'définit la cellule de destination dest (première cellule vide rencontrée dans la colonne A de l'onglet "archive"
        Set dest = Sheets("archive").Range("A65536").End(xlUp).Offset(1, 0)
        'copie la ligne de la colonne A à la colonne L dans la cellule de destination
        Range(Cells(cel.Row, 1), Cells(cel.Row, 12)).Copy dest
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
Sheets("archive").Select 'sélectionne l'onglet "archive" (si nécessaire ???)
End Sub
 

Pièces jointes

  • cedric_v01.xls
    28 KB · Affichages: 44
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Renvoi d'info dans une whorksheet

Bonsoir Cedric, bonsoir le forum,

C'est pas bien grave Cédric... (mais ça fait ch... !!!) (humour)

une version 02 en pièce jointe :

Code:
Private Sub CommandButton1_Click() 'bouton "Copier"
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim x As Long 'déclare la variable x (incrément)
Dim dest As Range 'déclare la variable dest (DESTination)
 
ActiveCell.Select 'enlève le focus au bouton
dl = Range("L65536").End(xlUp).Row 'définit la dernière ligne de la colonne L
'boucle inversée sur toutes les cellules éditées cel de la colonne L (en partant de la dernière jusqu'à la 7ème)
For x = dl To 7 Step -1
    If Cells(x, 12).Value = "Fait" Then 'condition : si la valeur de la cellule est "Fait"
        'définit la cellule de destination dest (première cellule vide rencontrée dans la colonne A de l'onglet "archive"
        Set dest = Sheets("archive").Range("A65536").End(xlUp).Offset(1, 0)
        'Coupe la ligne de la colonne A à la colonne L et la colle dans la cellule de destination
        Range(Cells(x, 1), Cells(x, 12)).Cut dest
        Range(Cells(x, 1), Cells(x, 12)).Delete Shift:=xlUp 'supprime la ligne
    End If 'fin de la condition
Next x 'prochaine cellule de la boucle
Sheets("archive").Select 'sélectionne l'onglet "archive" (si nécessaire ???)
End Sub
 

Pièces jointes

  • cedric_v02.xls
    38 KB · Affichages: 38

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry