Copier cellule fusionnées

Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011 - 9 juin 2010 à 15:06
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 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

Else
End If
Next
End Sub

please help me
merci
Jacky

2 réponses

Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Derniè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

Jacky
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
10 juin 2010 à 10:43
Salut,

essai ça :

If Sheets("Feuil2").Range("B" & x).MergeCells Then MsgBox Sheets("Feuil2").Range("B" & x).MergeArea.Cells(1, 1).Value

A+
0
Rejoignez-nous