fusionner 2 onglets en conservant date et heure

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

D

dfresh

Guest
Bonjour,
je souhaiterais fusionner deux onglets en conservant l'ordre chronologique (date et heure). En fait je voudrais faire ressortir d'une couleur les données P1 en les incorporant dans P2 ou un nouvel onglet chronologiquement. Est ce possible simplement ou faut il créer une macro?
Cordialement
 

Pièces jointes

Re : fusionner 2 onglets en conservant date et heure

Bonjour dfresh,

A la main ce n'est pas très dificile :

- sélectionner les données de P1 par Alt+F5 => Cellules => Constantes

- colorer la sélection comme on veut

- clic droit => Copier

- sur P2 sélectionner A1 et touches Ctrl+<flèche Bas> => A2981 => sélectionner A2982

- clic droit => Coller

- sélectionner les colonnes A: D => menu Données => Trier sur colonne A [Edit] et colonne B

S'il fallait faire tout ça très souvent, une macro serait utile, autrement non.

A+
 
Dernière édition:
Re : fusionner 2 onglets en conservant date et heure

Salut,
merci je vais essayer ça demain en retournant au boulot. Par contre j'ai beaucoup plus de données que dans le fichier je l'ai allégé pour le forum et je dois le faire sur 28 fichiers différents. Si quelqu'un a une macro je suis preneur.
Cordialement.
 
Re : fusionner 2 onglets en conservant date et heure

Re,

Cette petite macro réalise toutes les opérations décrites au post #2 :

Code:
Sub Fusion()
Dim P1 As Worksheet, P2 As Worksheet
Set P1 = ActiveWorkbook.Sheets("P1")
Set P2 = ActiveWorkbook.Sheets("P2")
With P1.UsedRange
  .Interior.ColorIndex = 6 'couleur jaune
  .Copy P2.[A65536].End(xlUp)(2)
End With
P2.Cells.Sort P2.[A1], xlAscending, P2.[B1], , xlAscending, Header:=xlGuess
Application.DisplayAlerts = False 'évite le message d'alerte
P1.Delete 'suppression de la feuille, facultatif
End Sub
La macro est dans Module1 du classeur joint (Alt+F11).

Elle s'applique au classeur actif (utiliser le raccourci clavier Ctrl+A).

On peut donc l'appliquer successivement aux 28 classeurs, à condition que les 2 feuilles concernées se nomment toujours P1 et P2.

A+
 

Pièces jointes

Dernière édition:
Re : fusionner 2 onglets en conservant date et heure

Je remercie job75, grâce à lui j'ai économisé beaucoup de temps. Par contre est ce quelqu'un peut me dire s'il est possible de tirer une formule avec un saut de cellule. Je voudrais soustaire les heures de marche (valeur 1) moins les heures corrspondant à l'arrêt (0). je pense que cela est assez simple mais je ne maitrise pas bien excel.
 

Pièces jointes

Re : fusionner 2 onglets en conservant date et heure

Bonjour dfresh, le forum,

La non-alternance des 0 et 1 a lieu 12 fois.

Mais il y a au maximum deux 0 ou deux 1 qui se suivent.

Alors cette formule en C6 doit donner un résultat correct :

Code:
=SOMMEPROD((INDEX(Tableau;0;3)=1)*(DECALER(INDEX(Tableau;0;3);1;)=0)*(DECALER(INDEX(Tableau;0;1);1;)+DECALER(INDEX(Tableau;0;2);1;)-INDEX(Tableau;0;1)-INDEX(Tableau;0;2))+(INDEX(Tableau;0;3)=1)*(DECALER(INDEX(Tableau;0;3);1;)=1)*(DECALER(INDEX(Tableau;0;1);2;)+DECALER(INDEX(Tableau;0;2);2;)-INDEX(Tableau;0;1)-INDEX(Tableau;0;2)))
Fichier (3).

A+
 

Pièces jointes

Re : fusionner 2 onglets en conservant date et heure

Re,

Sans doute plus lisible si l'on définit les noms COL1 COL2 COL3 :

Code:
=SOMMEPROD((COL3=1)*(DECALER(COL3;1;)=0)*(DECALER(COL1;1;)+DECALER(COL2;1;)-COL1-COL2)+(COL3=1)*(DECALER(COL3;1;)=1)*(DECALER(COL1;2;)+DECALER(COL2;2;)-COL1-COL2))
Fichier (3bis).

A+
 

Pièces jointes

Dernière édition:
Re : fusionner 2 onglets en conservant date et heure

Re,
merci mais désolé je dois mettre mal exprimé, je ne veux pas la somme total du fonctionnement mais seulement toutes les différences toutes les 2 lignes entre l'heure de marche et l'heure d'arrêt afin de voir le temps d'arrêt maximum.
Cordialement
 
Re : fusionner 2 onglets en conservant date et heure

Re,

De toute façon je me suis rendu compte (par VBA) que les résultats des 2 formules précédentes étaient faux.

En effet elles traitent le 2ème 1... Donc pas de regret.

En fait ce que vous voulez faire est simple, formule en E2 :

Code:
=SI(ET(C1=0;C2=1);A2+B2-A1-B1;"")
La copier vers le bas peut être facilité par cette macro lancée par Ctrl+F :

Code:
Sub Formule() 'raccourci clavier Ctrl+F
Range("E2:E" & [A65536].End(xlUp).Row).FormulaR1C1 = _
"=IF(AND(R[-1]C3=0,RC3=1),RC1+RC2-R[-1]C1-R[-1]C2,"""")"
End Sub
Fichier (4).

Edit : en toute logique il faudrait tenir compte des durées entre deux 0 consécutifs.

Mais sur le fichier, les 6 fois où ça se produit, ces durées sont de 1 ou 2 secondes.

J'indique quand même la formule pour en tenir compte :

Code:
=SI(ET(C1=0;C2=1);N(E1)+A2+B2-A1-B1;SI(C1=0;A2+B2-A1-B1;""))
A+
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
2 K
Retour