valeur de celulle si une autre cellule rempli

Lord_Kerrigan

XLDnaute Nouveau
Bonjour

Je viens demander votre aide car j'ai un soucis sur un fichier pour une application spécial
mais je n'ai trouvé aucune solution
j'espère que vous saurez m'aider

Je vous donne mes donnés :

Je dispose du Tableau 1 :

------a------b------c------d------e------f
1-----------V1-----V2-----V3-----V4----V5
2---Type1----------1--------------5-------
3---Type2---2-------------3---------------
4---Type3---8------1------6-------9-----14

Sur un autre feuille
J'aimerais que dans le Tableau 2

------a------b------c------d------e
1----V2-----V4----Vide---Vide---Vide
Car dans la ligne 3 les cellule C2 et E2 du tableau 1 sont rempli

------a------b------c------d------e
2----V1-----V3----Vide---Vide---Vide
Car dans la ligne 3 les cellule B3 et D3 du tableau 1 sont rempli

------a------b------c------d------e
3----V1-----V2-----V3----V4-----V5
Car dans la ligne 4 les cellule B4, C4, D4, E4 et F4 du tableau 1 sont rempli

Ensuite si possible j'aimerais une 2eme réponse pour un 2eme problème
j'aimerais que dans un tableau 3 (feuille 3)
la valeur dans la cellule A1
se multiple par 3 car 3 correspond a la couleur "Rouge" de la cellule
la valeur dans la cellule B1
se multiple par 4 car 4 correspond a la couleur "Verte" de la cellule
etc....

Je vous ai mis que des petit exemple, pour éviter de vous embrouiller
car j'ai 15 colonnes et 168 lignes environs pour le tableau 1

j'espère que vous saurez m'aider
Je vous remercie d'avance

Lord Kerrigan
 

soenda

XLDnaute Accro
Re : valeur de celulle si une autre cellule rempli

Bonjour le fil, Lord Kerrigan
pour le problème 1
Code:
    Dim L%, C%, p As Integer
    Dim t() As String
 
    ReDim t(2, 5)  [B][COLOR=green]' dimensions du tableau à adapter[/COLOR][/B]
 
    For L = 2 To 4
        p = 0     [B][COLOR=green]' à chaque ligne on commence à la colonne 0 du tableau t()[/COLOR][/B]
 
        For C = 2 To 6
            If Cells(L, C) <> "" Then
                t(L - 2, p) = Cells(1, C)
                p = p + 1   [COLOR=green][B]' on avance le pointeur d'une colonne[/B][/COLOR]
            End If
 
    Next C, L
 
    Feuil2.Range("A1:E3") = t   [COLOR=green][B]' on copie dans la feuil 2 (Plage à adapter)[/B][/COLOR]
pour le problème 2
Code:
    Dim C As Range
 
   [COLOR=green][B]' pour chaque cellule de la plage A1:B3 (à adapter)[/B][/COLOR]
[COLOR=green][B] ' multiplier la valeur par le numéro de la couleur de fond[/B][/COLOR]
 
    For Each C In [A1:B3]
        C.Value = C.Value * C.Interior.ColorIndex
    Next
Dans les deux exemples tu devras adapter les plages.

A plus
 

ROGER2327

XLDnaute Barbatruc
Re : valeur de celulle si une autre cellule rempli

Re...
La formule que j'ai écrite est une formule matricielle : pour la faire fonctionner, il faut l'écrire sans les accolades dans la cellule où on veut la mettre, puis valider en gardant les touches Ctrl, Maj enfoncées et en appuyant la touche Entrée. On voit alors que la formule est encadrée d'accolades qui montrent qu'elle est enregistrée correctement:
Code:
[COLOR="DarkSlateGray"][COLOR="Red"][B]{[/B][/COLOR]=SI(PETITE.VALEUR(SI(ESTNUM($B2:$F2);1;1000)*COLONNE($B2:$F2);COLONNE(A$1))<1000;INDEX($A$1:$F$1;PETITE.VALEUR(SI(ESTNUM($B2:$F2);1;1000)*COLONNE($B2:$F2);COLONNE(A$1)));"")[COLOR="Red"][B]}[/B][/COLOR][/COLOR]
ROGER2327
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso