Formule VBA, deux données differentes dans une même cellule

[Résolu/Fermé]
Signaler
-
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
-
Bonjour,

Je travaille sur une base des données pour suivre mes pilotes.
Mon tableau contient les 2 colonnes suivantes:
Colonne N: "Heure total de vol"
Colonne M: "Heure de vol sur ce type d'aéronef"
Je souhaiterais que les deux informations (variables) tiennent sur une même colonne au lieu de deux, au format suivant: "Heure total de vol" / "Heure de vol sur ce type d'aéronef"
Exemple : 12:55 / 06:20
Quelqu'un peut-il m'aider avec la formule VBA afin de rendre l'affichage au format valu possible?
Jusque-là, je ne sais reproduire les signets que dans deux cellules différentes.
Je ne suis pas vraiment un AS du VBA mais je me débrouille.
Merci d'avance.

10 réponses

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
536
Bonjour,

Tu n'as pas besoin de VBA.
Dans une troisième colonne, tu places la formule
=TEXTE(N2;"hh:mm") & " / " & TEXTE(M2;"hh:mm")

A+
Messages postés
26225
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
6 084
Bonjour
le VBA est il utile:
1° série en M2
2+ série en N2

=TEXTE(M2;"hh:mm")&" / "&TEXTE(N2;"hh:mm")

ou bien sur à la place de A1 et A2, les éventuelles formules de calcul qui donnent les résultats:

=TEXTE(formule;"hh:mm")

crdlmnt

Errare humanum est, perseverare diabolicum
Salut Gyrus & Vaucluse
Merci pour vos réponses mais ce n'est pas ce que je recherche.
Peut-être que c'est moi qui n'ai pas bien expliqué ma difficulté.
J'y vais en profondeur :
Les données qui s'affichent dans mon tableau sont produites par la formule suivante :

For Each x In Array(3, 2, 1, 8, 9, 10, 12, 16, 17, 28, 30, 25, 26, 32, 35, 5, 6, 46, 7, 41, 39, 46, 21)
.Range(.Cells(1, x), .Cells(fin, x)).Copy .Cells(1, n): n = n + 1

C'est un macro !
32 et 35 sont des colonnes affichant les heures de vol de mes pilotes.
32 : heure de vol total (tout avion confondu) pour chaque pilote
35 : heure de vol sur un type défini d'avion.

J'aimerais faire partir (masquer) la colonne 35 et que toutes les heures tiennent uniquement sur les cellules de la colonne 32 ; séparées d'un « / ».
Donc il faut que je réussisse à faire afficher les variables de la colonne 35 dans la colonne 32
32 correspond à « N » et 35 à « O »
Messages postés
16523
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
28 septembre 2021
3 228 > Pat
Bonjour,
raisonner sur un bout de code ne mène pas loin...

donc
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse
Dans l'attente

pour compléter mes petits camarades Gyrus et Vaucluse, dans mon style "mouche du coche"
=TEXTE(M2;"[hh]:mm")
les pilotes naviguant souvent plus de 24 heures sur un coucou (tout rapport avec événements existants ne serait que pure coïncidence) :o)
>
Messages postés
16523
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
28 septembre 2021

Salut michel_m,
Je viens de le mettre en ligne.
Tu regarderas les formules de la feuille "SITREP".
Tu peux jouer avec le fichier en allant sur la feuille "SCOPE" supprimes-en un staff puis clique sur le bouton "UN SITREP" et tu verras...
Si tu réussis à me virer la colonne jaune "O" tout en faisant que les données qui s'y trouvent apparaissent sur la colonne "N" ça sera le top.
Je ne suis pas un as du VBA mais je sais que ça doit être compliqué.
Ça fait presque 3 semaines que je suis dessus.
@+

oups, voici le lien : http://www.cjoint.com/c/EJdih3zOwu4
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
330
Bonjour à tous
Une proposition avec masquage de la colonne O après modification
https://www.cjoint.com/c/EJdj1FkESQw
Cdlt
Bah!
Franchement, il y a des gens doués dans ce forum.
Quand je pense que j'ai ch*é pendant plus de trois semaines à trouver.
Merci mille fois Frenchie83; CA MARCHE :p
Un tout dernier service Frenchie83:
Dans la partie "STAFF PER CONTRACT" précisément la colonne "F" (actual).
Tu sais comment insérer une formule qui pourra me donner sur chaque cellule, le nombre de Captains, Co-Pi, Flight Attendant, Engineer et Site Manager automatiquement?
Une fois de plus, merci.
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
330
RE
Vous avez oublié de préciser sur quels tableaux faut-il comptabiliser les éléments?
_"Current Crew" seul ou avec "Next Rotation"
ci-joint le fichier avec la recherche(par formule) sur les 2 tableaux. Confirmez-moi que c'est bien ce que vous désirez et je l'intègrerais dans la macro.
https://www.cjoint.com/c/EJdoNBiGsFw
Cdlt
Salut Frenchie83,
Le comptage doit se faire uniquement sur "Current Crew"
Pa rapport à l'équipage actuel, on devrait avoir: 2 captain, 2 copi, 1 engineer et 1 Manager.
Total 6 au lieu de 4.
Cordialement
Il faudra que cela soit automatique à chaque fois que je génère le Strep.
Avec "COUNTIF" ça marche uniquement avec les données actuelles; quad je génère le tableau en ajoutant ou en supprimant du staff, la formule disparait.
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
330
Problème rencontré, les termes utilisés sont différents entre le tableau "CURRENT CREW" et le tableau "STAFF PER CONTRACT".
Pour comptabiliser chaque éléments, il serait idéal d'avoir les même appellations. Pour avoir une correspondance entre ces noms, je me suis permis une modification dans la feuille "DATA1" j'ai remplacé "CO-Pilote" par "First Officier" et" Engineer" par "Cabin chief" (excusez-moi pour mes lacunes en connaissances aéronautiques, mais je peux revenir à 'arrière à tout moment), dites moi si j'ai bien ou mal fait ou bien les termes sont-il immuables?,
https://www.cjoint.com/c/EJdp5wUeoQw
First officer et co-pilote c'est la même chose
Par contre, engineer et cabin chief c' pas la même chose.
Cabin chief et Flight attendant c'est similaire.
Pour faciliter la tâche, feux vert pour prendre la nomenclature du petit tableau puis remplacer celles de deux tableau au dessus "curent et next"
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
330
Comme ceci, est-ce que c'est bon?
https://www.cjoint.com/c/EJdrxVob6Hw
En théorie, c'est ce que je voudrais mais ça ne s'actualise pas automatiquement quand tu bouges du staff.
Vas stp sur:
- la feuille "SCOPE"
- Vire un Captain (en supprimant la ligne entière ou en modifiant juste la date « check out » à n'importe quelle date avant le 3 oct. 15. Par exemple 1 oct 2015.
- clique sur le bouton "UN Sitrep" de la feuille "Scope" et observe ce qui se passera.
Je pense que la formule devrait être insérée en fonction de la feuille "SCOPE" car c'est elle qui génère la le staff par famille (captain, copi (ou first off), engineer, S. Manager, ect.
Je suis gêné de t'emmerder.
Sinon, ce que t'as déjà fait est très significatif. Je peux remplir ce petit tableau manuellement si c'est compliqué à faire.
Merci beaucoup frangin.
PS : Flight Attendant (signifie Stewar) ; Cabin Chief c'est le Chef des Flight Attendants (Stewar) mais tous au depart sont des Flight Attendants.
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
330
Ca ne me gêne pas du tout, mais je ne comprends pas, avec la formule actuelle, quand je supprime une ligne "capitaine" ou que je modifie la date "check out" et après avoir cliquer sur "Un Sitrep" de la feuille SCOPE, il y a bien une mise à jour de la feuille Sitrep,
Autre chose , dans la feuille "SCOPE" il y a "Ground Engineer" , cela correspond-il à "Engineer",? si c'est le cas il me faut modifier la table "DATA1" .
Oui, Ground Engineer = Engineer (c' la même chose),
Okey, revoie-moi encore le fichier je vais essayer
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
330