macro couper coller suivant conditions

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

RVL

XLDnaute Occasionnel
Bonjour,

Je suis nouveau sur ce forum et j'aimerai realiser une macro pour couper et coller des cellules de la feuil1 sur la feuil2 si elles appartiennent a une liste en feuil3 par exemple...

RV
 
Re : macro couper coller suivant conditions

Bonjour et bienvenue sur XLD

Commence par lancer l'enregistreur de macro et fais ton couper coller manuellement. Ensuite tu pourras adapter. Donnes ton niveau en VBA.

A+
 
Re : macro couper coller suivant conditions

Re, un "COUPER COLLER" de la feuil1 vers la feuil2 (suivant conditions) avec le format d'origine.

Pour l'exemple les conditions= récuperer "DIDIER" et "MAURICE" qui ont le permis "A" et sont en"N° "1" en feuil3
a placer si possible en feuil2 sur la colonne en jaune ...
Compliqué ?

Cdlt,

RV
 
Re : macro couper coller suivant conditions

Re,

Code:
[COLOR=BLUE]Sub[/COLOR] f1versf2()
    [COLOR=BLUE]Dim[/COLOR] plage [COLOR=BLUE]As[/COLOR] Range, c [COLOR=BLUE]As[/COLOR] Range, cSource [COLOR=BLUE]As[/COLOR] Range
    [COLOR=GREEN]'Définition de la plage de cellules qui contient les noms en feuil3[/COLOR]
    [COLOR=BLUE]With[/COLOR] Sheets([i]"Feuil3"[/i])
        [COLOR=BLUE]Set[/COLOR] plage = .Range(.Range([i]"A4"[/i]), .Range([i]"A"[/i] & .Rows.Count).[COLOR=BLUE]End[/COLOR](xlUp))
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With[/COLOR]
    [COLOR=BLUE]For[/COLOR] [COLOR=BLUE]Each[/COLOR] c [COLOR=BLUE]In[/COLOR] plage
        [COLOR=BLUE]If[/COLOR] c(1, 2) = [i]"A"[/i] [COLOR=BLUE]And[/COLOR] c(1, 3) = 1 [COLOR=BLUE]Then[/COLOR]
        [COLOR=BLUE]Set[/COLOR] cSource = Sheets([i]"Feuil1"[/i]).UsedRange.Find(what:=c, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=[COLOR=BLUE]False[/COLOR])
        [COLOR=BLUE]If[/COLOR] [COLOR=BLUE]Not[/COLOR] cSource [COLOR=BLUE]Is[/COLOR] [COLOR=BLUE]Nothing[/COLOR] [COLOR=BLUE]Then[/COLOR]
            cSource.Copy Destination:=Sheets([i]"Feuil2"[/i]).Range([i]"I"[/i] & Application.Rows.Count).[COLOR=BLUE]End[/COLOR](xlUp)(2)
        [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]If[/COLOR]
        [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]If[/COLOR]
    [COLOR=BLUE]Next[/COLOR]
    Application.CutCopyMode = [COLOR=BLUE]False[/COLOR]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]

A+
 
Re : macro couper coller suivant conditions

Re,

He oui, normal.

Fais une recherche sur le forum sur la protection des feuilles et tente d'adapter la macro à ce que tu auras compris.

Puis reviens avec tes tentatives si cela echoue.

A+
 
Re : macro couper coller suivant conditions

Re,

Code:
Sheets("Feuil1").UnProtect "mdp"
Sheets("Feuil2").UnProtect "mdp"
Sheets("Feuil3").UnProtect "mdp"
Et ensuite tu reprotège en fin de macro, chacune des feuilles sur lesquelles la macro travaille.

Solution 2

tu protèges tes feuilles par une macro avec le paramètre UserInterfaceOnly=True

Code:
Sheets("Feuil1").Protect PassWord:="mdp", UserInterfaceOnly:= True
Comme ceci les macros pourront agir sur les feuilles sans avoir besoin de les dé-protéger/protéger à chaque fois.

Regarde l'aide (F1) sur .Protect

A+
 
- 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
9
Affichages
264
Retour