[Résolu] ...par TAM136 [Excel] Remplissage conditionnel

Remplissage conditionnel [Résolu] ...par TAM136 [Excel] - Logiciels - Windows & Software

Marsh Posté le 26-06-2006 à 11:04:17    

Bonjour
 
Je suppose qu'il faut passer par une macro et n'y connaissant absolument rien, je préfère demander un peu d'aide
J'ai un tableau de 150 colonnes x 160 lignes et je souhaite trouver toutes les valeurs "valeur" et remplir alors une cellule avec une valeur "cible"
Si "valeur" est en (i,j), alors c'est la cellule (i+2,j) qui doit être remplie par "cible"
 
J'espère avoir été clair  :D  
Merci par avance


Message édité par Sooshi le 26-06-2006 à 20:01:05
Reply

Marsh Posté le 26-06-2006 à 11:04:17   

Reply

Marsh Posté le 26-06-2006 à 12:39:17    

Salut,
 
150 colonne*160 lignes: ça fait 24000 cellules
Est-ce que chacune de ces 24000 cellules est remplie?
 
Dans ce cas là, la valeur cible remplacerait la valeur initiale. C'est ça?

Reply

Marsh Posté le 26-06-2006 à 13:10:19    

Merci de me répondre
Non toutes les cellules ne sont pas remplies.
Oui la valeur "cible" remplacerait la valeur initiale
En fait les cellules à contrôler sont dans des colonnes bien identifiées, toutes les 4 colonnes en fait (a,d,g....)
 
En gros j'aimerais avoir l'équivalent de rechercheh ou recherchev et lorsque la valeur déclanchante est atteinte, remplacer le contenu de la cellule qui se trouve 2 colonnes à droite par une valeur fixe
 
Je pense qu'une bonne utilisation des fonctions si, et ou même rechercheh ou recherchev devraient suffire mais la structure du tableau pourrait être changeante, c'est pour cela que je préférerais avoir une automatisation via macro, afin de ne rien oublier.


Message édité par Sooshi le 26-06-2006 à 17:22:58
Reply

Marsh Posté le 26-06-2006 à 17:00:34    

arf, je me pose à peu pres la meme question, mais je me forme seul à excell, donc j'ai un peu du mal. Pour ma part depuis 2 jours je cherche comment faire pour : lire une case, si elle contient qqchose, prendre le chiffre correspondant dans la case voisine, et l'ajouter au total au bas de la colonne... heuuu je suis clair ???

Reply

Marsh Posté le 26-06-2006 à 17:21:18    

Supposons ton test sur la colonne A et les valeurs à lire sur la colonne B
Tu peux en colonne C mettre la formule =si(a1="";0;1)*b1 et faire la somme de la colonne C
La formule contrôle si a1 est vide : si c'est le cas, elle multiplie la valeur en colonne B par 0, ce qui l'annule
                                               sinon, elle multiplie la valeur en colonne B par 1
Voilà, j'espère que ça répond à ta question
 

Reply

Marsh Posté le 26-06-2006 à 19:15:30    

Bonsoir Sooshi
 
J'ai fait une macro que tu dois perfectionner ou alors, tu devras manuellement saisir à chaque fois la valeur et la cible
Sub MacroAppliquerValeurConditionnelle()
For i = 1 To 160
For j = 1 To 150
If Cells(i, j).Value = 1 Then
'1 est une valeur exemple
Cells(i + 2, j) = 5
'5 est une cible exemple
End If
Next j
Next i
End Sub
 
Tu devras donc taper une valeur à la place de 1 et à la place de 5
Mais le code fonctionne normalement mis à part ça.

Reply

Marsh Posté le 26-06-2006 à 19:31:24    

Merci beaucoup  :jap:  
C'est exactement ce que je souhaitais
Il semble que Excel donne les coordonnées sous forme (ligne, colonne) et donc j'ai modifié le (i,j+2) en (i+2,j)
 

Reply

Marsh Posté le 26-06-2006 à 19:56:48    

Si ça roule, comme je le dis, un petit résolu, ça fait pas de mal.
1/Ça fait plaisir
2/Ça fait augmenter mon taux de résolution (et donc me rapproche de la prime)
3/Ça fait un peu prétentieux mais bon
4/Ça aide les autres

Reply

Marsh Posté le 26-06-2006 à 19:59:10    

Et comme ça , ça va ??  :)

Reply

Marsh Posté le 26-06-2006 à 20:09:55    

Ça va
 
Je vois que tu n'est pas contre l'humour noir.
 
Bonne soirée

Reply

Marsh Posté le 26-06-2006 à 20:09:55   

Reply

Marsh Posté le 26-06-2006 à 20:12:03    

TAM136 a écrit :

Ça va
 
Je vois que tu n'est pas contre l'humour noir.
 
Bonne soirée


 
 :D  
Merci
Et sûrement à bientôt, j'ai plein de questions sous Excel qui me taraudent
 :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed