VBA recopie partielle

  • Initiateur de la discussion Initiateur de la discussion fb62840
  • 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 !

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

J'ai besoin de votre aide pour ajouter un code qui permettra d'exécuter ceci :

- recopier sur des feuilles nommées :
Club <8, Club <10, Club <12, Club <15, Club <18, Club <50, Club >=50,

à la condition qu'un critère : Le contenu de la colonne C sur la feuille Base,
s'il est vérifié alors soit recopier 2 données de la colonne A et B de la feuille Base

- ou ne pas recopier sur cette feuille Base si la même info existe déjà en colonne A

La colonne C sur la feuille Base peut contenir :
<8, <10, <12, <15, <18, <50, >=50

Voir le classeur ci-joint
 

Pièces jointes

Re : VBA recopie partielle

Bonsoir,

J'ai du modifier un peu votre code compte tenu de mon fichier de travail.

voici sa version actuelle :
Code:
Sub copier()
    Dim aa, fin&, i&, a&, fin1&, t
    With Sheets("Archers inscrits")
        fin = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To fin
            .Range(.Cells(i, 1), .Cells(i, 8)).Copy Sheets("Club " & .Cells(i, 8)).Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
            fin1 = Sheets("Club " & .Cells(i, 8)).Range("A" & Rows.Count).End(xlUp).Row
            For a = 2 To fin1 - 1
                If Sheets("Club " & .Cells(i, 8)).Cells(a, 4) = Sheets("Club " & .Cells(i, 8)).Cells(fin1, 4) Then
                MsgBox fin1
                    With Sheets("Club " & .Cells(i, 8))
                        .Range(.Cells(fin1, 1), .Cells(fin1, 8)).ClearContents: Exit For
                    End With
                End If
            Next a
        Next i
    End With
End Sub

Je dois avoir fait une erreur car en procédant à la vérification de l'égalité sur la ligne :
Code:
If Sheets("Club " & .Cells(i, 8)).Cells(a, 4) = Sheets("Club " & .Cells(i, 8)).Cells(fin1, 4) Then

La ligne suivante doit être mal écrite car la ligne "doublon" n'est pas supprimée.
Code:
.Range(.Cells(fin1, 1), .Cells(fin1, 8)).ClearContents: Exit For

Je m'explique :
Sur la feuille archers inscrits je prélève les données à copier sur la feuille de destination qui convient (par exemple "Club <8"
Je souhaite vérifier si sur la feuille de destination plusieurs lignes ne contiendraient pas les mêmes informations en colonne D
et, si c'est le cas alors il ne faut en conserver qu'une.

merci pour votre aide
 
Re : VBA recopie partielle

Bonjour fb62840 le forum
bah moi je m'explique
Si tu n'es pas capable de mettre en ligne un fichier qui correspond à ton fichier réel, je n'y peut rien!!!
que tu modifies la macro pourquoi pas, mais encore faut-il le faire comme il faut.
alors ou tu remets ton fichier correct avec les conditions ou alors ?????????????
Que tu remettes en cause ma macro me fatigue, car elle répond point pour point à ta demande initiale,
qui elle, bien entendu est archi fausse!!!!!!!!!!!!!!!!
Alors fais un bon fichier exemple, qui est une copie de ton vrai fichier, avec les conditions à respecter, et on reparlera de ton fichier mais pour moi pas avant.
bonne soirée
Papou😱
 
Re : VBA recopie partielle

Bonsoir,

Désolé si je vous ai offensé, mon intention n'était vraiment pas celle là et je vous présente mes excuses. Je n'avais nullement l'intention de remettre en cause le travail que vous avez fait, et fort bien fait pour moi.

Voici le fichier modifié (légèrement, déplacement d'une colonne, ajout d'une colonne).
 

Pièces jointes

Re : VBA recopie partielle

Re Fb62840 le forum
et les conditions de déplacement c'est quoi??? il faut ne pas copier si quoi???
colonne A et colonne B et colonne D identique à la feuille ou on doit copier ???? ou ??????
Je suis désolé mais cela je ne peux pas le deviner, et pour ne pas avoir à refaire la macro de multiple fois ces précisions s'imposent
a+
papou😱
 
Re : VBA recopie partielle

Bonjour Fb62840 le forum
bon pas compris les explications dans le fichier, mais bref voilà avec la vérification de la ligne si colonne A et colonne B et colonne D déjà existante on ne colle pas
si c'est pas cela tu le rediras
a+
Papou😱
 

Pièces jointes

Re : VBA recopie partielle

Bonjour,

En fait c'est plus simple que ça.

Le critère essentiel c'est le Nom du club
Si ce nom apparaît déjà dans la colonne C d'une page de destination (où doivent être collées les valeurs) alors il ne faut pas recopier la ligne de données.

Je suis navré de vous agacer avec mes demandes qui sont sans conteste très confuse.

Merci beaucoup pour votre aide.
 
Re : VBA recopie partielle

Bonsoir fb62840 le forum
J'espère que tu as bien eu la dernière version, mais comme tu ne daignes même pas avoir la correction de
faire une petite réponse, il nous faut donc supposer que tu es dépanné.
Aurais-tu une fois au moins lu la charte du forum ??? Cela peut être instructif.
a+
papou😱
 
- 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
38
Affichages
888
Réponses
4
Affichages
243
Réponses
7
Affichages
795
Retour