Réaliser un archivage

Bonjour,

J'aimerais sur un réaliser un archivage sur un de mes tableaux excel

j'ai un tableau comportant 2 colonne

  • La première date de réalisation prévu -> Automatique
  • la deuxième date de réalisation -> donnée manuelle

cette page comprend un bouton (validation ) qui me permet de décaler les dates de réalisation prévu

Et j'aimerais réussir à lorsque j’appuie sur validé à archiver dans un onglet "archive " les dates de réalisation

je connais la fonction "copy "

Sheets("Feuil1").Range("A1:A11").Copy Sheets("Feuil2").Range("A1")

le soucis c'est que la copie devrais se faire tt les mois et se décaler d'une colonne

(par exemple Janvier coller en H , février coller en I , ...)

j'espère que quelqu'un pourra m' aider

merci d'avance

Bonjour

Sans connaitre la colonne

Essayes

Sub test3()
  With Sheets("Feuil1")
    .Range("A1:A11").Copy Sheets("Feuil2").Cells(1, 7 + Month(.Range("Cellule_date_de_réalisation")))
  End With
End Sub

je viens de me demander si je le met dans le thisworbook si sa allais fonctionner Du style archivage à l'ouverture ?

Bonjour

On peut faire beaucoup de chose

Mais sans connaitre la structure de ton fichier, je ne peux dire si telle ou telle option est envisageable

Comme tu marques

be laid back a écrit :

la deuxième date de réalisation -> donnée manuelle

Peut aussi le faire à ce moment

A voir avec plus de renseignements

je te transmets un fichier "exemple " pour que tu vois la structure

merci d'avance

68v8.xlsm (54.77 Ko)

Bonjour

oui j'ai vu la structure

Des changements par rapport au précédents posts

Déjà la macro (pas sa place dans le module ThisWorkbook) doit être dans un module

La macro que je t'avais fourni ne fait référence qu'a une cellule pour le calcul du mois, dans celle-ci le calcul du mois fait référence à plusieurs cellules

Feuille "Action parc" : Inconnue

Dans le fichier fais un (ou plusieurs) exemples de ce que tu veux

en indiquant clairement quelles données sont à recopier, quand, où, ce qu'elles deviennent après

Enfin tous les renseignements que tu jugeras utile

A suivre

ok

j'ai mis dans un onglet le fonctionnement "souhaité " si tu a quelque chose de proche je serai

merci de ton aide

Ps : action parc = teste donc n'y fais pas attention

30v8.xlsm (54.70 Ko)

Bonjour

A tester

C'est parfait

un grd merci sa fessait un bon moment que je ramais dessus ,

Par contre je comprend pas pourquoi la feuille structure apparais dans le code ,

Case "PAGE D'ACCEUIL", "Structure", "Archives"

enfin je pense que c'est pour que la formule évite ces pages ?

merci encore

Bonjour

Tu as tout à fait raison

Pour éviter de traiter dans ces pages

Si ton fichier final ne comprends pas cette page tu peux la supprimer dans la partie du code

Bonne journée

je ré ouvre le sujet car j'ai un problème , quand je valide ma cellule dans le fichier final

J'ai le message de se IF :

If Not cel Is Nothing Then

.Cells(cel.Row, 4 + Month(Target)) = Target

Else

MsgBox "Machine : " & Target.Offset(0, -5) & " inconnue" & vbCr & _

"Action : " & Target.Offset(0, -3) & " inconnue"

End If

Pourtant j'ai décalé le target pour tomber sur les bonnes colonnes

Merci

Bonjour

Quel message ?

Quelle est la ligne surlignée en jaune ?

Ta page de réception n'est elle pas protégée ?

A suivre

j'ai aucune ligne en jaune

en faite j'ai juste

Machine : xx inconnue

Action : xx inconnue

Dans le message box qui s'affiche

Pour info ces deux page ne sont pas protégé

Et voila le code avec en rouge les modification

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

Select Case Sh.Name

Case "PAGE D'ACCEUIL", "Planning1", "Archives", "mettre à jour",

Case Else

If Not Intersect(Range(" I12:I" & Range("B" & Rows.Count).End(xlUp).Row), Target) Is Nothing Then

With Sheets("Archives")

With .Range("A6:A" & .Range("B" & Rows.Count).End(xlUp).Row)

.Formula = "=RC[2]&RC[3]"

.Value = .Value

Set cel = .Find(what:=Target.Offset(0, -5) & Target.Offset(0, -3), _

LookIn:=xlValues, lookat:=xlWhole)

End With

If Not cel Is Nothing Then

.Cells(cel.Row, 4 + Month(Target)) = Target

Else

MsgBox "Machine : " & Target.Offset(0, -5) & " inconnue" & vbCr & _

"Action : " & Target.Offset(0, -3) & " inconnue"

End If

.Columns(1).ClearContents

End With

End If

End Select

End Sub

Bonjour

J'avais mal compris (compris message d'erreur)

Si tu as ce message

C'est que le couple machine-action n'existe pas

Vérifies que la machine xx existe et que l'action correspondante avec cette machine existe

Dans ton fichier final (dans la page "Archives") vérifies aussi que tu as bien les machines en colonne C et les actions en colonne D

Sinon fournis un fichier

Pas d'autre idée en stock

je crois que que je mettais plutôt mal exprimé

dans ma page archive je suis en C et E

mais pour le changer

Bonjour

Faut changer la formule

Remplaces

.Formula = "=RC[2]&RC[3]"

Par

.Formula = "=RC[2]&RC[4]"

j'ai fais a mon niveaux changer les colonne de place

j'ai rep sur le forum " en pensant "

merci pour tout

je "re-clo"

Rechercher des sujets similaires à "realiser archivage"