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

Vba - copier des données d'une autre feuille dans quitter la feuille active

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

Sofhy

XLDnaute Occasionnel
Bonjour à tous,

Je reviens vers vous car je suis encore bloquée dans mon fichier par mon manque de connaissance du Vba.

J'ai une feuille X (car ce n'est jamais la même, ça sera la feuille active dans laquelle on lance la macro) qui fait appel à une feuille "critères" qui est fixe.
Je copie des données de la feuille critères, que je colle / transpose dans ma feuille active. Sauf que dans le code, j'écris que je retourne dans la feuille X "nommée Feuil2" pour coller ces données et donc je fige ma macro sur la feuille n°2.

J'ai essayé un système intermédiaire avec une formule =criteres!C1, mais je ne peux pas tirer la formule vers la droite, ça ne fonctionne pas. J'ai aussi essayé avec la fonction decaler mais sans succès (à noter que cette dernière fonction, je ne suis pas encore très à l'aise, c'est peut être pour ça que je n'ai pas réussi, car ça me semblait pourtant bien approprié).

Voilà mon bout de code qui me pose problème :
Code:
'Extraire la liste unique des modèles unique sur la feuille critère
    Sheets("Criteres").Columns("B:B").AdvancedFilter Action:=xlFilterCopy, _
    CopyToRange:=Sheets("Criteres").Range("C1"), Unique:=True
'Transposer cette liste sur la feuille active
    Sheets("Criteres").Select
    Range("C1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil2").Select [COLOR="Blue"][B]c'est ici que je dois nommer
la feuille sur laquelle je retourne alors qu'elle est variable[/B][/COLOR]
    Range("B28").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True

Je vous joins mon bout de fichier également.
Merci par avance,
Sofhy
 

Pièces jointes

Re : Vba - copier des données d'une autre feuille dans quitter la feuille active

Bonjour Sophy

essaye avec une variable, pour l'initialiser lorsque la feuille concernée est active :

Code:
Dim ws As Worksheet
Set ws = ActiveSheet

ensuite n'importe où dans ton code, pour y faire référence tu codes ainsi :

Code:
ws.Range("A1").Value = 123

bonne journée
@+
 
Re : Vba - copier des données d'une autre feuille dans quitter la feuille active

Bonjour Sophy,
Pierrot🙂

Tout comme Pierrot ou sans sélection de la feuille critères:

Code:
    [COLOR=blue]With[/COLOR] Sheets([I]"Criteres"[/I])
        .Columns([I]"B:B"[/I]).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range([I]"C1"[/I]), Unique:=[COLOR=blue]True[/COLOR]
        [COLOR=green]'Transposer les données dans la feuille active[/COLOR]
        [COLOR=blue]With[/COLOR] .Range(.Range([I]"C1"[/I]), .Range([I]"C1"[/I]).[COLOR=blue]End[/COLOR](xlDown))
            .Copy
            ActiveSheet.Range([I]"B28"[/I]).Resize(, .Rows.Count).PasteSpecial _
                Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=[COLOR=blue]False[/COLOR], Transpose:=[COLOR=blue]True[/COLOR]
        [COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
    [COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
    Application.CutCopyMode = [COLOR=blue]False[/COLOR]

Pour bien faire il faudrait vérifier le nombre de lignes retourné par le filtre pour qu'il ne dépasse pas le nombre de colonnes disponibles pour la transposition.

A+
 
Re : Vba - copier des données d'une autre feuille dans quitter la feuille active

Bonjour Hasco, Bonjour Pierrot93,

Merci, ça fonctionne parfaitement.

@Hasco,
Dans l'absolu il serait effectivement bien de vérifier que le nombre de lignes retournées ne dépasse pas le nombre de colonnes, mais dans mon tableau, si j'atteins 20 couleurs ça sera déjà exceptionnel, c'est donc nickel.

Merci encore et bonne fin de journée,
Sophie
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…