![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir a tous et joyeuse paque
qui pourais me dire comment placer ses Sub, pour qu'a chaque mois elle change de feuille automatique Sub recopie() selectionfeuille DernLigneVide = Sheets(2).Range("a65536").End(xlUp).Row If Sheets(3).Range("b2").Value = "" Then premligneVide = 2 Else premligneVide = Sheets(3).Range("b2").End(xlDown).Row + 1 With Worksheets(2) .Range("a20:h" & DernLigneVide).Copy Worksheets(3).Range("b" & premligneVide) End With End Sub Sub selectionfeuille() Dim k As Integer If Day(Range("B2")) = 1 Then 'On est le 1er k = Month(Range("B2")) Sheets(k).Select End If End Sub Merci a l'avance @ ++++ |
| ANNONCES | |||
|
|
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
Re
sub essai () DernLigneVide = Sheets(2).Range("a65536").End(xlUp).Row If Day(Range("B2")) = 1 Then 'On est le 1er k = Month(Range("B2")) end if If Sheets(k).Range("b2").Value = "" Then premligneVide = 2 Else premligneVide = Sheets(k).Range("b2").End(xlDown).Row + 1 With Worksheets(2) .Range("a20:h" & DernLigneVide).Copy Worksheets(k).Range("b" & premligneVide) End With End Sub Je crois que ce code bêta de version bêta sans déclaration de variable, sans test et sachant pas trop quoi faire, devrait correpondre à ce qaue tu veux Alyre c'est à dir copiert ta plage de cellules quan on change de mois.... A+++ PS BIS, TER le fichier exemple |
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir a tous , Myta , Zon
merci d'avoir répondu a mon message , vous être supperbe . Ce que je veux faire , je m'explique j'ai un fichier excel pour placer des commandes , quand la commande est remplie, j'envoie une copie de ma commande pour un inventaire sur un autre feuil , et chaque fois que je fait une commande mes donner s'acumule, c'ette fonction marche tres bien mais ce que je voudrais ce serais que mes donner s'incrive dans la feuille nommer de chaque mois , ce que je veux dire si ont est aux mois d'avril quelle s'incrive dans le mois d'avril, et si ont est rendu a la fin du mois elle change pour le mois mai automatique A++++++ alyre |
|
|
#8 (permalink) |
|
Guest
Messages: n/a
|
Re
sub essai () DernLigneVide = activeSheets.Range("a65536").End(xlUp).Row If Day(Range("B2")) = 1 Then 'On est le 1er k = Month(Range("B2")) end if If Sheets(k).Range("b2").Value = "" Then premligneVide = 2 Else premligneVide = Sheets(k).Range("b2").End(xlDown).Row + 1 With activesheet .Range("a20:h" & DernLigneVide).Copy Worksheets(k).Range("b" & premligneVide) End With End Sub Je n'ai pas tester quelque soit la feuille la feuille active on copie sur celle du mois d'aprés... A++ |
|
|
#10 (permalink) |
|
Guest
Messages: n/a
|
Re
Voilà il manquait un end if sub essai () DernLigneVide = activeSheets.Range("a65536").End(xlUp).Row If Day(Range("B2")) = 1 Then 'On est le 1er k = Month(Range("B2")) end if If Sheets(k).Range("b2").Value = "" Then premligneVide = 2 Else premligneVide = Sheets(k).Range("b2").End(xlDown).Row + 1 end if With activesheet .Range("a20:h" & DernLigneVide).Copy Worksheets(k).Range("b" & premligneVide) End With End Sub A+++ |
|
|
#13 (permalink) |
|
Guest
Messages: n/a
|
Bonjour à tous et Joyeuse Pâques,
Voici le bon code Alyre, étant donné que Janvier est en 3eme position et que la feuille d'où seront copiés les données: Sub copie() Dim ws, ws1 As Worksheet Dim L1, L2 As Integer Application.ScreenUpdating = True 'évite les traitements de la macro à l'écran 1 For i = 1 To Sheets.Count If Sheets(i).Name = "Order form" Then Set ws = Sheets("Order form") 'la variable worksheet ws sera Order form L1 = ws.Range("A65536").End(xlUp).Row 'derniere ligne non vide dans Order form GoTo 2 End If Next i If i = Sheets.Count Then MsgBox "LA FEUILLE ORDER FORM N'EXISTE PAS", vbCritical, "ERREUR DE NOM DE FEUILLE" GoTo sortie 2 ws.Activate With ws If IsDate(Range("C2")) Then 'Test pour voir si C2 contient bien une date k = Month(Range("C2")) 'on récupère le mois GoTo 3 Else: MsgBox "LA CELLULE C2 N'EST PAS UNE DATE", vbCritical, "ERREUR DE SAISIE" Range("C2").Select GoTo sortie End If End With 3 If k + 2 > Sheets.Count Then MsgBox "UNE FEUILLE MOIS N'EXISTE PAS", vbCritical, "ERREUR DE MOIS" GoTo sortie Else: Set ws1 = Sheets(k + 2) L2 = ws1.Range("B65536").End(xlUp).Row + 1 'Premeière ligne non vide dans une des feuilles mois ws.Range("A20:H" & L1).Copy ws1.Range("B" & L2) 'copie de la plage Sheets(k + 2).Select End If sortie: Application.ScreenUpdating = True End Sub A+++ |
|
|
#14 (permalink) |
|
Guest
Messages: n/a
|
Bonjour a tous et surtout a Zon
tu est le Kin pour avoir résoulu mes erreurs, avec autant de rapidité Il y avais seulment une petite erreur de frape dans Order form, il falais que Form sois écrit avec un F magiscule, si non elle ne trouvais pas la feuille Toutes marche a 100 milles a l'heures maintenant, je suis émerveillé et tres satisfait de ton bon travail, Bravo je te félicite et te remerci mille fois tu est un génie pour avoir compris mes attentes qui n'étais pas tres claire, et en plus de t'avoir enduit en erreur en n'expliquant pas que janvier étais belle et bien a la 3eime position au lieu de la première feuille. Peut-être sans le savoir tu ma fait un tres beau cadeau de pâque je te remerci encore et joyeuse pâque a toi et a ta famille. si j'ai besoin de d'autres expliquations je n'hésiterai pas a faire signe. @ ++ alyre |
|
|
#15 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir le forum et Zon
je vien encore demander ton aide Zon, pourais tu me dire comment faire pour transféré la Date qui est dans la feuilles Order Form cellule (C2) et l'incrire dans la feuilles Mois cellule (A) Zon : tu va reconaitre la formule que tu ma écrite, elle fonctionne a merveille mais je veux ajouter un + a cette belle formule Sub copie() Dim ws, ws1 As Worksheet Dim L1, L2 As Integer Application.ScreenUpdating = True 'évite les traitements de la macro à l'écran 1 For i = 1 To Sheets.Count If Sheets(i).Name = "Order form" Then Set ws = Sheets("Order form") 'la variable worksheet ws sera Order form L1 = ws.Range("A65536").End(xlUp).Row 'derniere ligne non vide dans Order form GoTo 2 End If Next i If i = Sheets.Count Then MsgBox "LA FEUILLE ORDER FORM N'EXISTE PAS", vbCritical, "ERREUR DE NOM DE FEUILLE" GoTo sortie 2 ws.Activate With ws If IsDate(Range("C2")) Then 'Test pour voir si C2 contient bien une date k = Month(Range("C2")) 'on récupère le mois GoTo 3 Else: MsgBox "LA CELLULE C2 N'EST PAS UNE DATE", vbCritical, "ERREUR DE SAISIE" Range("C2").Select GoTo sortie End If End With 3 If k + 2 > Sheets.Count Then MsgBox "UNE FEUILLE MOIS N'EXISTE PAS", vbCritical, "ERREUR DE MOIS" GoTo sortie Else: Set ws1 = Sheets(k + 2) L2 = ws1.Range("B65536").End(xlUp).Row + 1 'Premeière ligne non vide dans une des feuilles mois ws.Range("A20:H" & L1).Copy ws1.Range("B" & L2) 'copie de la plage Sheets(k + 2).Select End If sortie: Application.ScreenUpdating = True End Sub Merci a l'avance et bonne soirée @++ alyre |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|