copier une feuille sous condition

br44

XLDnaute Impliqué
Bonjour le forum ,


Ce petit message pour savoir si il existe une procèdure vba pour copier une feuille sous les coditions suivantes :

1) Copier la feuille "T4" que si la première cellule ("A1")est pleine ,
si non pas de copie .

2) Dans le cas où la rèponse serais "oui" alors copier toutes la plage allant de la colonne A à G est toutes les lignes jusqu'à la première cellule vide en partant du bas .


Sachant que la copie qui devras se faire sera au minimum de 50 lignes .


J'ai une petite base pour infos si cela peut aider :

'J'envois les information vers le classeur "A.xls
Wb2.Sheets("T4").Range("1:50").Copy Destination:=Wb1.Sheets(Mois) _
.Range("A65536").End(xlUp)

' Range ("1:50") ètant pour le cas que j'ai qu'une seul copie à faire .


Espèrant avoir ètait claire dans ma demande et vous remerciant par avance de l'aide que vous donnerez je vous dis à plus sur ce nouveau poste .

amicalement BR44
 

br44

XLDnaute Impliqué
Re : copier une feuille sous condition

Re: Bonjour FanFan 38 ,le forum ,


Je te remerçie pour ta demande. je veux bien mettre un fichier mais par rapport à ma demande je vois pas quoi mettre comme èlèments ?


je mets à suivre un explaire de la feuille à copier est bout du program à titre d'infos si cela peux t'aider .Dis -moi les èlèments qu'il te faut ,car sinon je ne pourrais pas le joindre pour cause de poids trop important (Même zipper).


En te remerciant par avence pour ton intrêt je te dis à bientôt sur se fil .

Amicalement BR44
 

Pièces jointes

  • Essais.xls
    27.5 KB · Affichages: 47
  • Essais.xls
    27.5 KB · Affichages: 53
  • Essais.xls
    27.5 KB · Affichages: 53

fanfan38

XLDnaute Barbatruc
Re : copier une feuille sous condition

Bonjour,
Tout d'abord dans Thisworkbook j'ai trouvé des commandes qui n'étaient pas dans une macro?
Le principe:
Dès qu'il y a un changement dans la feuille T4 excel regarde si la cellule A1 est vide
Sinon un bouton COPIE est visible...
J'espere que cela te convient

A+ François
 

br44

XLDnaute Impliqué
Re : copier une feuille sous condition

Re: Bojour FanFan38,le forum ,


Un grand merçi à toi pour ton aide et le rapiditèe de ta rèponse .

Tu très bien compris se que je voulais sauf que ne n'est pas besoin d'un bouton supplèmentaire puisque la commande se fait dèja à partir d'un bouton appeler"Archiver les fiches" situèe dans un Userform .

Je m'excuse j'ai oublier la première ligne du programme en prèparant mon fichier . Je te la met à suivre :

Private Sub CommandButton3_Click() 'Bouton "Archiver les fiches"

Je viens de regarder ton fichier et si je l'ai bien compris cela semble convenir à ce que je recherche .

En regardant ta procèdure je me posais les questions suivantes afin de pouvoir adapter la procèdure à mon programme :


1°) Tu ècris : " derlig = Range("a65536").End(xlUp).Row"

Je ne vois pas de dèclaration de variable pour Derling ?

'Dèclare la variable derling
Dim derling AS Range ' enfin je supose puisque cela definit une plage de cellules ?

'Definit la variable derling
Set derling = Range("a65536").End(xlUp).Row

SI tu me donné l'explication pour l'absence de variable et me dire si je fais erreur cela m'aiderais à comprendre ?


2°) Si mon résonement est correxct dans se cas je ne vois pas la condition qui empeche la copie si la cellule "A1" est vide ?

Peut -être une solution ,si tu peux la valider se serais bien :

If Range("A1").Value = "" Then
End If

Si non je ne vois pas ?


Je termine en te remerciant de nouveaux et èspère que mais questions sont claires . A bientôt sur se fil amicalement BR44
 

fanfan38

XLDnaute Barbatruc
Re : copier une feuille sous condition

Bonsoir
J'ai un gros défaut j'oublie souvent les déclarations...
Ici derlig as integer car c'est le n° de la ligne...
La déclaration elle est sur la feuille (visualiser le code) donc si tu veux pas le bouton tu enlèves tout (bouton et macro sur la feuille)
Je préfère: if len(range("a1").value)=0 then exit sub
avant l'impression...

A+ François
 

Excel_lent

XLDnaute Impliqué
Re : copier une feuille sous condition

Bonsoir à tous et Re aux autres.

à adapter
Code:
 If Sheets("T4").Range("A1") <> "" Then
    Wb2.Sheets("T4").Range("1:50").Copy Wb1.Sheets(Mois).Range("A65536").End(xlUp)
 End If
Tu remarqueras la réduction dans la ligne de Copy !
 

br44

XLDnaute Impliqué
Re : copier une feuille sous condition

Re: Bonjour Fanfan38,exce-lent , le forum ,


FanFan : j'accuse rèception pour de ta rèponse et je t'en remercie . le temps de tester et je te tient au courant . Juste une petite question :

Que sinifie le "len" devant le reste de la formule "len(range("a1").value)=0 " et pouquoi "=0" à la fin ?


Excel-lent : Merci à toi pour ta participation et je garde ta procèdure . j'aurais juste trois questions à te poser :

1) Pourquoi avoir supprimé le mot"Destitation " dans ta formule ?

2) Je vois que ta procèdure n'est valable que si je n'est qu'une seule "facture" à d'enregister ,Mais si il y en à plusieures comment fais -tu ?

3) Peux-tu m'expliquer la diffèrance entre ta condition et celle qu'emploie FanFan38 ?

En tout cas je te retemercie d'avoir paricitpè à se fil .


Je termine en renouvelent mes remerciments à tous les deux et vous dis à plus . Amicalement BR44
 

br44

XLDnaute Impliqué
Re : copier une feuille sous condition

Re:Rebonjour à tous ,

O.K merçi pour cet explication . Bon je vient de tester la procèdure et le rèsultat est mitiger ?

La procèdure fonctionne sur le principe (pas d'erreures de vba),mais elle ne copie pas le contenue de la feuille "T4" ?


Je pense que sa bloc au niveau de la condition ,j'ai remplacer le "0" par le contenue de la cellelule "a1" mais rien ne se passe .

J'avoue que je ne comprend pas ,si tu une idèe , fais le mois savoire . ci-joint ma procèdure adapter .


En te remerciant par avance je te dis à plus . Amicalement BR44
 

Pièces jointes

  • Essais1.xls
    35 KB · Affichages: 46
  • Essais1.xls
    35 KB · Affichages: 48
  • Essais1.xls
    35 KB · Affichages: 47

br44

XLDnaute Impliqué
Re : copier une feuille sous condition

Re: bonsoir Fanfan38 ,le forum


En rèponse à ton dernier message : Je voudrais copier toutes les lignes qui sont occupés dans la plage comprise entre A et G.

C'est à dire que si il y a 50 lignes d'occupées alors copier 50 lignes

Si il y a 200 lignes alors copier 200 lignes


à la condition que la cellule A1 soit où que la ligne 1 soit pleinne .


Il se peut que cela vienne du faite que les cellule A1 à C1 soit fusionnèes ?

Bon en te remerciant de nouveaux je te dis à bientôt .

amicalement BR44
 

br44

XLDnaute Impliqué
Re : copier une feuille sous condition

Re: bonjour à tous ,


Ce petit message juste pour vous dire que j'ai beau essayé je n'arrive pas à envoyer mes données dans le classeur "A.xls " .


J'ai essyé de changer la cellule de référence pour la condition mais rien n'y fait .


Si quelqu'un peut m'aider à rèsoudre mon problème se serais sympas .

En vous remerciant par avences je vous dis à bientôt sur se fil .

Toutes les infos et un fichier joints sont sur se post dans mes messages prècèdents .

Amicalement br44
 

Discussions similaires

Statistiques des forums

Discussions
312 318
Messages
2 087 203
Membres
103 493
dernier inscrit
Vidal Salvador