Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011
-
9 juin 2010 à 15:06
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
10 juin 2010 à 10:43
bonjour à tous
jaurais besoin d'aide
dans un tableur excel
je voudrais copier la valeur de la cellule B, si une des cellule de la meme ligne (par exemple cellule de la colonne C) a une coleur de fond rouge (colorindex3)
jusque la tou va a peu près bien... le problème cest que en colonne A jai des cellule fusionnées donc je voudrais savoir :
pour lexemple je copie la valeur en D13
par exemple :
Sub test()
For x = 1 To 10
If Sheets("Feuil2").Range("C" & x).Interior.ColorIndex = 3 Then 'si une cellule de la colonne C est rouge (colorindex=3) alors'
'je copie la valeur de la ligne x de la colonne B en D13'
Sheets("Feuil2").Range("D13").Value = Sheets("Feuil2").Range("'ici je dois désigner la valeur de la cellule de la ligne x de la colonne B qui est peut etre fusionnée'").Value
Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011 9 juin 2010 à 16:03
Bon décidément je penser avoir une réponse mais j'ai eu le temps de trouver encore une fois ^^
je vous expose mon code car j'ai eu beau chercher je ne trouve rien donc je pense que ca pourra etre utile à d'autre.
etant donné que pour excel dans des cellule fusionnées seulle la première cellule de la fusion contient une valeur les autres sont cocidérées comme vide j'ai fais une macro qui, si la cellule recherchée est vide (autre que la première des cellule fusionnée) jallais remonté a partir de ma cellule jusque ldernière cellule pleine.
Sub test()
For x = 1 To 10 'pour x de 0 à 10'
If Sheets("Feuil2").Range("C" & x).Interior.ColorIndex = 3 Then 'si la couleur de la cellule est rouge (index 3) alors '
If Sheets("Feuil2").Range("B" & x) <> 0 Then 'Si la valeur de la cellule est différente de 0 alors'
Sheets("Feuil2").Range("D" & Sheets("Feuil2").Range("D65536").End(xlUp).Row + 1).Value = Sheets("Feuil2").Range("B" & x).Value 'copier la valeur de la cellule Bx sous la dernière cellule pleine de la colonne D)'
Else 'sinon'
Sheets("Feuil2").Range("D" & Sheets("Feuil2").Range("D65536").End(xlUp).Row + 1).Value = Sheets("Feuil2").Range("B" & Sheets("Feuil2").Range("B" & x).End(xlUp).Row).Value 'copier la dernière cellule pleine au dessus de la cellule Bx, sous la dernière cellule pleine de la colonne D'
End If
End If
Next
End Sub
je sais pas si cest clair
si vous voulez des infos plus précise n'hésitez pas