copier/coller un tableau avec formules et mise en forme conditionnelle

roazak

XLDnaute Nouveau
Bonjour

J'ai un fichier excel avec une macro qui copie/colle une feuille vers une autre feuille en fonction de certaines valeurs (Si une colonne contient des valeurs inférieures à 10).
L'inconvénient c'est que quand ça copie la macro ne recopie pas les formules ainsi que les mises en forme conditionnelles avec des couleurs.

Est-il possible de pouvoir copier certaines ligne d'un tableau avec toutes les formules et les mises en forme conditionnelles?


Code:
Sub copie()
Dim nbval As Long
nbval = Sheets("maintenance préventive").Range("K1").Value
Sheets("feuil1").Range("A2:I200").ClearContents
For i = 5 To nbval
      If Sheets("maintenance préventive").Cells(i, 7).Value < 10 Then
      Sheets("feuil1").Rows(2).Insert
      Sheets("feuil1").Cells(2, 1).Value = Sheets("maintenance préventive").Cells(i, 1).Value
      Sheets("feuil1").Cells(2, 2).Value = Sheets("maintenance préventive").Cells(i, 2).Value
      Sheets("feuil1").Cells(2, 3).Value = Sheets("maintenance préventive").Cells(i, 3).Value
      Sheets("feuil1").Cells(2, 4).Value = Sheets("maintenance préventive").Cells(i, 4).Value
      Sheets("feuil1").Cells(2, 5).Value = Sheets("maintenance préventive").Cells(i, 5).Value
      Sheets("feuil1").Cells(2, 6).Value = Sheets("maintenance préventive").Cells(i, 6).Value
      Sheets("feuil1").Cells(2, 7).Value = Sheets("maintenance préventive").Cells(i, 7).Value
      Sheets("feuil1").Cells(2, 8).Value = Sheets("maintenance préventive").Cells(i, 8).Value
      Sheets("feuil1").Cells(2, 9).Value = Sheets("maintenance préventive").Cells(i, 9).Value
      Else
      End If
Next i
End Sub

ci-dessus le code de la macro qui ne fait que copier les caractères.
Je peut également vous envoyer le fichier excel si vous le désirez.
Merci d'avance
 

roazak

XLDnaute Nouveau
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

L'inconvénient avec cette macro c'est qu'elle ne recopie pas les formules donc que le décompte des jours ne fonctionne pas dans la 'feuil1'. C'est pas trop gênant mais il faut touts les jours réinitialiser la feuille.
 

roazak

XLDnaute Nouveau
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

Bonjour cela fait quelques jours que mon fichier a été envoyé et mon problème n'a toujours pas été résolu.Est-ce que c'est possible que ce soit fait avant la fin de semaine?
Merci
Je vous renvoi mon fichier en pièce jointe.
 

Haytoch

XLDnaute Junior
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

bonsoir Roazak,

je te fait une solution (ci-joint)

je te crée deux Macros simple :
* La 1ére pour éviter les formules sur ton fichier (c juste une démonstration si tu veux que je la bien finisse pas Grave, merci me dire ce qu'il manque dessous )

*La 2éme celle que tu veux pour copier vers l'autre feuille les valeurs entre (0 et 10 jours) pour planifier l’intervention après .


tu peux seulement s'on servir de la 2éme pour ton fichier d'origine (seulement changer le nome de la "Feuil1" au "Résultat")

Voilà si tu as besoin de plus modifications pas du probléme :)

Salut
Haytoch
 

Pièces jointes

  • roazak _Maintenance Prev V.1.xlsm
    59.6 KB · Affichages: 81

roazak

XLDnaute Nouveau
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

J'ai juste un petit problème quand j'appui sur "opération de la semaine" les deux boutons se mettent tout petits, on ne voit que un point à l'écran.
Quand ça copie en fait ce que je voulais c'est que le code compris dans les cellules qui ont été copiées soient copiées elles aussi mais pas seulement le résultat du calcul.Si c'est pas possible ou beaucoup trop compliqué pour que je puisse comprendre je vais pas vous embêter avec ça mais pour l'instant il faut aller voir tous les jours pour rafraîchir la page. C'est juste un bouton à appuyer mais bon :> .

Merci quand même pour l'aide que vous me donnez pour ce code.
 

roazak

XLDnaute Nouveau
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

Je voulais demander aussi si il était possible de trier automatiquement la feuille "Resultat" du plus petit au plus grand.
Pour l'instant je le fait à la main; Clique sur la flèche des filtres et trier du plus petit au plus grand mais quand une nouvelle valeur est rajoutée je suis obligé de refaire la manip même si elle n'est pas du tout compliquée.
C'est pas grave non plus si ça ne marche pas ça aussi mais c'est juste pour le principe et aussi il faudrait que je puisse comprendre le code également.
 

Haytoch

XLDnaute Junior
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

bonsoir,

voilà le code pour copier avec trier automatique du plus petit au plus grand :

Code:
Sub Operations_Semaine()
Dim Lg As Long, Lignes As Long, Bws As Worksheet, Dws As Worksheet

Set Bws = Worksheets("maintenance préventive")
Set Dws = Worksheets("Resultat")

Application.ScreenUpdating = False
With Dws
   With .Range("B4:H100")
    .ClearContents
    .Borders.LineStyle = xlNone
    With .Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
   End With
End With

With Bws
On Error Resume Next
    Lg = .Range("C" & Rows.Count).End(xlUp).Row
    .Range("A5:I" & Lg).AutoFilter Field:=7, Criteria1:="<=10", _
        Operator:=xlAnd, Criteria2:=">=0"
          .Range("C5:I" & Lg).SpecialCells(xlCellTypeVisible).Copy
          With Dws.Range("B3")
          .PasteSpecial Paste:=xlPasteValues
          .PasteSpecial Paste:=xlFormats
          End With
.ShowAllData
End With
Dws.Activate
With Dws
    .Range("B3:H3").AutoFilter
    .AutoFilter.Sort.SortFields.Clear
    .AutoFilter.Sort.SortFields.Add Key:= _
        Range("F3"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With .AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    .Range("B3:H3").AutoFilter
End With
Application.ScreenUpdating = True
End Sub

Juste une remarque pour la colonne des code que tu es demandé "N° local" c'est ça ?

j'ai un problème avec car c'est des cellules fusionner ceci je n'ais pas l'idée comment le géré :(

je vais voir c'est possible de le faire avec un truc RechercheV etc ...

*pour les dates je te fait un exemple de rafraîchissement si la date du prochaine n'est pas renseigner ou est inférieur à Aujourd’hui ()
*Aussi Ma question concerne les dates d'interventions (Colonne F) si c'est vide ==> Calcule de la date du prochaine interventions par rapport a la date d'aujourd'hui () etc..

merci de me bien expliquer :)
slt
Haytoch
 

Haytoch

XLDnaute Junior
Re : copier/coller un tableau avec formules et mise en forme conditionnelle

Voilà ci-joint Version 2 avec une amélioration pour la gestion des dates :

*Si jamais intervenir ==> Vide
*Si la date d'intervention inséré et prochaine intervention est vide ==> Calcul la date du prochaine intervention + le temps restant
*Si la date d'intervention inséré et prochaine intervention est existe ==> Calcul le temps restant

aussi une condition pour la date du prochaine intervention pour bien manipulé les erreurs des dates :
*Si la date du prochaine intervention est existe mais < date d'aujourd'hui :
*Cette date inférieur doit être la date de dernière intervention puis Calcul a nouveau la date du prochaine intervention + le temps restant.

ceci rajoute un commentaire supplémentaire , pour bien comprendre :).

Merci du faire le teste et me tien au curant .

il aussi possible d'éliminé le bouton et la feuille ferra les calcule automatique a chaque changement .

a toi de confirmer :)

Slt
Haytoch
 

Pièces jointes

  • roazak _Maintenance Prev V.2.xlsm
    61.3 KB · Affichages: 90

Discussions similaires

Réponses
4
Affichages
421

Statistiques des forums

Discussions
314 661
Messages
2 111 627
Membres
111 238
dernier inscrit
patrick01