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

copie ligne si case cochée

  • Initiateur de la discussion Initiateur de la discussion rudymagny
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rudymagny

XLDnaute Occasionnel
Bonsoir le forum,

Voila ce que je voudrais faire, lorsque je coche la case dans la colonne AE, je copie la ligne entière et la colle dans l'autre feuille?

J'ai mis un fichier comme exemple.

Merci d'avance
[file name=Questionforum_20060327194819.zip size=22031]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Questionforum_20060327194819.zip[/file]
 

Pièces jointes

Bonsoir Rudymagny, bonsoir le forum,

Je te propose cette macro événementielle à placer dans l'onglet 'Janvier' :


 
Bonsoir Rudymagny, bonsoir mon ami Robert, bonsoir à toutes et à tous 🙂

Une autre possibilité en utilisant ta procédure événementielle existante Worksheet_BeforeDoubleClick :


J'ai simplement remplacé l'instruction :

Target.value = IIf(Target.Value = 'o', 'ý', 'o')

par :

With Target
  '...
  If .Value = 'o' Then
    .Value = 'ý'
    'Ajout de code
  Else
    .Value = 'o'
  End If
End With

Voili voilà

A+ 😉
 
Rebonjour le forum,
Voilà j'ai testé ça au boulot et ça marche:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet (janvier)
Dim li As Integer 'déclare la variable li
Dim dest As Range 'déclare la variable dest
Dim dest2 As Range 'déclare la variable dest2

    'si le changement n'a pas lieu dans une cellule éditée de la colonne AE, sort de la procédure
    If Application.Intersect(Target, Range('AE4:AE' & Range('AE65536').End(xlUp).Row)) Is Nothing Then Exit Sub
    
    If Target.Value = 'ý' Then 'condition 1 : si la case est cochée
        li = Target.Row 'définit la variable li
    
        'définit la variable dest
        With Sheets('Signature E5') 'prend en compte l'onglet 'Extract Signature E5'
            If .Range('B4').Value = '' Then 'condition 2 : si A1 est vide
                Set dest = .Range('B4') 'définit la variable dest
                Else
                Set dest = .Range('B65536').End(xlUp).Offset(1, 0) 'définit la variable dest
            End If 'fin de la condition 2
        End With 'fin de la prise en comprte de l'onglet 'Extract Signature E5'
        
        'copie la ligne de la case cochée de l'onglet 'Janvier' et la colle dans l'onglet 'Extract Signature E5'
        'Range(Cells(li, 2), Cells(li, 31)).Copy Destination:=dest
        Range(Cells(li, 2), Cells(li, 26)).Copy Destination:=dest
        
            With Sheets('Signature E5')
                If .Range('B4').Value = '' Then 'condition 2 : si A1 est vide
                    Set dest2 = .Range('AA4') 'définit la variable dest
                    Else
                    Set dest2 = .Range('AA65536').End(xlUp).Offset(1, 0) 'définit la variable dest
                End If 'fin de la condition 2
            End With
            Range(Cells(li, 28), Cells(li, 28)).Copy Destination:=dest2
    End If 'fin de la condition 1
End Sub

Merci à vous deux c cool
 
Bonsoir Rudumagny, Charly, bonsoir le forum,

C'est marrant, moi j'aurais plutôt choisi la proposition de Charly...

Si ton classeur est ouvert (test.xls dans mon exemple, à adapter) et si le nom de l'onglet dans lequel tu veux coller est toujours Extract Signature E5 :



Avec le classeur fermé je ne sais pas faire... Mais Charly devrait passer par ici (je pense) et te donner une soluce.
 
Bonjour Robert et merci pour ta réponse,
avec la soluce de charly, si je voulais copier plusieurs cellules, elles s'écraisaient dans mon autre feuille, c pour ça que j'ai utilisé la tienne.

je vais essayer pour ta soluce sur l'autre classeur et je te dis ça!

Merci
 
Voilà c bon j'ai adapté le code pour ouvrir le fichier avant de copier :

Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Déclaration des variables pour export vers feuilles signature E5
Dim li As Integer 'déclare la variable li
Dim dest As Range 'déclare la variable dest
Dim clas As Workbook 'déclare la variable clas
'/////////////////////////////////////////////////////////////////////////
'Condition pour gérer les cases à cocher
If Target.Value Like '[oý]' Then
    Target.Value = IIf(Target.Value = 'o', 'ý', 'o')
    'Empêche la sélection de la cellule après le double-clic
    Cancel = True
End If
'/////////////////////////////////////////////////////////////////////////
[color=#FF0000]ThisWorkbook.FollowHyperlink 'D:\\RTE\\Essais E4_VCT\\Suivi\\2006\\Signature E5.xls'[/color]
'Code pour exporter la ligne dans l'autre feuille et l'onglet 'Signature E5'
Set clas = Workbooks('Signature E5.xls') 'définit la variable clas (à adapter)
'si le double click n'a pas lieu dans une cellule éditée de la colonne AE, sort de la procédure
If Application.Intersect(Target, Range('AE4:AE' & Range('AE65536').End(xlUp).Row)) Is Nothing Then Exit Sub
        ActiveSheet.Unprotect
        li = Target.Row 'définit la variable li
        'définit la variable dest
        With clas.Sheets('Signature E5') 'prend en compte l'onglet 'Signature E5'
            If .Range('B4').Value = '' Then 'condition 2 : si A1 est vide
                Set dest = .Range('B4') 'définit la variable dest
                Else 'sinon
                Set dest = .Range('B65536').End(xlUp).Offset(1, 0) 'définit la variable dest
            End If 'fin de la condition 2
        End With 'fin de la prise en compte de l'onglet 'Extract Signature E5'
    'copie la ligne de la case cochée de l'onglet en cours et la colle dans l'onglet 'Signature E5' de l'autre feuille
    Range(Cells(li, 2), Cells(li, 27)).Copy Destination:=dest
End Sub

c michelxld qui me l'avait donné et en plus je n'ai pas utilisé le change mais le double click de la cellule.

mais j'ai un problème, c qu'il ne fonctionne qu'une fois et je sais po pourkoi!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
205
Réponses
2
Affichages
502
Réponses
5
Affichages
601
Réponses
8
Affichages
2 K
  • Question Question
Microsoft 365 case VRAI / FAUX
Réponses
11
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…