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

VBA correction pour une recopie incrémentée

  • 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,

Je fais appel à vous afin de m'aider à rédiger correctement le code pour une recopie incrémentée.

Voici ce que j'ai tenté de faire :
Code:
'saisie de la formule sommeprod
f.Range("D2").Formula = "=SUMPRODUCT((Championnat!RC:R[65534]C='CLUB <8'!RC[-3])*(Championnat!RC[-1]:R[65534]C[-1]=""<8"")*(Championnat!RC[206]:R[65534]C[206]))"
'sélection de la cellule contenant la formule à recopier vers le bas
ActiveCell.Select
'C'est ici que je ne sais pas comment indiquer qu'il faut recopier la formule dans la colonne D
'tant qu'il y a un contenu dans la colonne A
Selection.AutoFill Destination:=

Merci de m'aider à finaliser ce code.
 
Re : VBA correction pour une recopie incrémentée

Bonjour,

essaie peut être ceci, non testé :
Code:
Selection.AutoFill Destination:=f.Range("D2:D" & f.range("a65536").end(xlup).row )

bon après midi
@+

Edition : bonjour Eric
 
Dernière édition:
Re : VBA correction pour une recopie incrémentée

Bonjour,

J'ai testé avec les 2 propositions mais ça ne marche pas.

Voici le code complet dans lequel se trouve la portion de recopie incrémentée.
Je soupçonne en fait que la page à laquelle la recopie incrémenté fait référence n'est pas la bonne.

Code:
Sub Extraire()
Dim plg As Range, f As Worksheet
Dim fin&, i&, a&, fin1&
    'déterminer la plage à extraire dans la feuille Base
    With Sheets("Archers inscrits")
        Set plg = .Range("A1:I" & .Range("A" & Rows.Count).End(xlUp).Row)
    End With
    
    'Boucler sur toutes les feuilles du classeurs
    For Each f In ThisWorkbook.Sheets
        'Si le nom de la feuille commence par 'Club ' (espace compris)
        If f.Name Like ("CLUB *") Then
            'nettoyer toutes les cellules de la feuille
            f.Cells.ClearContents
            'préparation du critère de filtrage avancé
            f.Range("A1") = "Catégorie"
            'critère basé sur la fin du nom de la feuille
            f.Range("A2") = "=""=" & Replace(f.Name, "CLUB ", "") & """"
            'Extraction des données
            plg.AdvancedFilter Action:=xlFilterCopy, _
                CriteriaRange:=f.Range("A1:A2"), CopyToRange:=f.Range("A4:I4"), Unique:=False
            
            'destruction des lignes de critère et séparation
            f.Rows("1:3").EntireRow.Delete
            'destruction des colonnes non nécessaires
            f.Columns("G:I").EntireColumn.Delete
            f.Columns("A:C").EntireColumn.Delete
            'saisie de la formule sommeprod
            f.Range("D2").Formula = "=SUMPRODUCT((Championnat!RC:R[65534]C='CLUB <8'!RC[-3])*(Championnat!RC[-1]:R[65534]C[-1]=""<8"")*(Championnat!RC[206]:R[65534]C[206]))"
           'Recopie vers le bas de la formule (ne marche pas)
              Selection.AutoFill Destination:=Range("D2:D" & Range("A65536").End(xlUp).Row).FillDown

With Feuil31
        fin = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To fin
            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, 1) = Sheets("CLUB " & .Cells(i, 8)).Cells(fin1, 1) Then
                    With Sheets("CLUB " & .Cells(i, 8))
                        .Range(.Cells(fin1, 1), .Cells(fin1, 3)).ClearContents: Exit For
                    End With
                End If
            Next a
        Next i
End With
            
        End If
    Next
End Sub
 
Re : VBA correction pour une recopie incrémentée

Re,

J'ai testé avec les 2 propositions mais ça ne marche pas.
cela veut dire quoi ? message d'erreur ou pas le résultat attendu ?


modifie peut être comme suit :

Code:
f.Range("D2").AutoFill Destination:=f.Range("D2:D" & f.range("a65536").end(xlup).row )
 
Re : VBA correction pour une recopie incrémentée

Oui, même avec la dernière ligne de code proposée j'ai le même type de message d'erreur.

Voici en pièce-jointe le fichier complet que j'utilise

Quelques explication :
La feuille base : contient toutes les données relatives aux archers
La feuille accueil : contient les boutons d'appels des macros, formulaires
La feuille Archers inscrits : contiendra les archers sélectionnés avec le formulaire UserForm3 (bouton Sélectionner les archers) - sur le formulaire j'ai laissé les listbox en bas de boîte visible mais ils ne le seront pas au final)
La feuille Championnat : est la feuille sur laquelle seront enregistrés les résultats des archers au cours de la compétition (à partir du bouton Résultats sur la feuille Accueil)
Les feuille IND suivi de <8, <10 etc : Elles sont complétées à l'inscription des archers (il me reste un problème pour lequel je n'identifie pas l'origine pour les 2 derniers archers qui sont <50 pour l'un et >=50 pour l'autre). Ce sont les feuilles sur lesquelles seront calculés depuis la feuille Résultats les scores des archers au cours du championnat
Sur ces feuilles, j'aurai besoin en colonne J de calculer le score total de l'archer (que je ferai avec une formule sommeprod)
Les feuilles CLUB suivi de <8, <10 etc : Ces feuilles sont complétées à l'inscription des archers. Ce sont les feuilles sur lesquelles seront calculés depuis la feuille Résultats les scores des archers au cours du championnat
Sur ces feuilles j'aurai besoin en colonne D de calculer le score total de l'archer (la question du post originale)

Voir le code sur le bouton CommandButton1 sur le formulaire UserForm3


J'espère que ça vous semblera lisible.

SI vous avez des questions n'hésitez pas
 

Pièces jointes

- 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

E
  • Question Question
Réponses
2
Affichages
855
E
Réponses
1
Affichages
1 K
C
Réponses
5
Affichages
2 K
Charles78
C
C
Réponses
23
Affichages
4 K
Charles78
C
Réponses
22
Affichages
5 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…