Copie valeur cellule si condition remplie
Fermé
MATHIEUE91
Messages postés
2
Date d'inscription
lundi 6 mai 2019
Statut
Membre
Dernière intervention
8 mai 2019
-
Modifié le 7 mai 2019 à 11:06
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 9 mai 2019 à 06:27
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 9 mai 2019 à 06:27
A voir également:
- Excel copier une cellule si condition
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Si et excel - Guide
- Liste déroulante excel - Guide
- Dessin sms copier coller zizi ✓ - Forum Réseaux sociaux
2 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
7 mai 2019 à 06:28
7 mai 2019 à 06:28
Bonjour,
Mauvaise présentation du tableau, les projets doivent se trouver à gauche (colonne A) pour permettre aisément l'extension des noms.
Voici une proposition en VBA
https://mon-partage.fr/f/S4omVLsF/
Le code utilisé
Vous pouvez ajouter autant de noms que vous le désirez. par contre, si vous choisissez de changer l'emplacement du tableau restitué, il vous suffit de modifier les paramètres "Lig" et "Col" dans le programme ((actuellement en ligne 13 et colonne 5)
Cdlt
Mauvaise présentation du tableau, les projets doivent se trouver à gauche (colonne A) pour permettre aisément l'extension des noms.
Voici une proposition en VBA
https://mon-partage.fr/f/S4omVLsF/
Le code utilisé
Sub Restit() Dim DerLig As Long, DerCol As Long, Lig As Long, Col As Long Dim NomTraite As Boolean Dim l As Long, c As Long Application.ScreenUpdating = False DerLig = [A1000].End(xlUp).Row DerCol = [A1].End(xlToRight).Column Lig = 13 'ligne de départ du tableau de la collecte Col = 5 'Colonne de départ du tableau de la collecte For c = 2 To DerCol Nom = Cells(1, c) NomTraite = False For l = 2 To DerLig If Cells(l, c) = "x" Then If NomTraite = False Then Cells(Lig, Col) = Nom Cells(Lig, Col + 1) = Cells(l, "A") NomTraite = True Lig = Lig + 1 End If Next l Next c End Sub
Vous pouvez ajouter autant de noms que vous le désirez. par contre, si vous choisissez de changer l'emplacement du tableau restitué, il vous suffit de modifier les paramètres "Lig" et "Col" dans le programme ((actuellement en ligne 13 et colonne 5)
Cdlt
7 mai 2019 à 10:22
Je regarde cela ce soir.
8 mai 2019 à 10:51
Merci encore pour votre proposition. Ca marche nickel. Je voulais juste demander un complément si pas trop lourd pour vous : Comment pourrais-je procéder pour faire une mise à jour par nom , je m'explique :
Dans le tableau d'origine j'ai X lignes par nom (10 dans l'exemple) ce qui permet que les noms restent positionnés sur les mêmes lignes origine.
J'aimerais donc par exemple avoir un bouton de mise à jour pour LOLO, un pour LULU et un pour TOTO afin de pouvoir garder les mise à jour respective de chaque chef de projet dans l'espace dédié des 10 lignes de chacun...
Je vous joins de nouveau une image sur la base du fichier de votre proposition.
Merci encore pour votre aide.
9 mai 2019 à 06:27
Pas tout compris, vous affectez le même nombre de lignes à chaque personne, même s'il y a des vides (ça risque de faire gros, vu dans le post 3, 120 lignes environ, le tout multiplié par chaque nom). De plus ça ne correspond pas à l'idée initiale.
Adoptons les termes suivants pour une meilleure compréhension:
Tab_A: tableau de saisie des valeurs (en A1:D9 dans l'exemple)
Tab_B: tableau de restitution en colonne (en E13:F43 dans l'exemple)
Ensuite vous voulez une mise à jour pour un nom choisi, donc on complète Tab_B si il y a un ajout de "x" dans Tab_A, mais si vous supprimer un "x" dans Tab_A, doit -on l'enlever ou le conserver dans Tab_B?
Pour clarifier les choses et gagner du temps, mettez un exemple "Avant et Après" de ce que vous attendez.
Cdlt