Sélectionner valeures non grisées

  • Initiateur de la discussion Initiateur de la discussion sev
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sev

Guest
Bonjour à tous le forum,
je voudrais sélectionner seulement les valeures qui ne sont pas grise des colonnes C, H , M et R pour pouvoir leur affecter une macro avec un code VBA.

Je joint un fichier pour plus de précision

Merci à tous
 

Pièces jointes

Re : Sélectionner valeures non grisées

Merci celà me convient

Encore un petite question : serait il possible d'appliquer ce code aux cellules C6:C26,H6:H32,M6:M39,R6:R41 en même temps à chaque changement des cellules concernées ?

Merci à vous pour vos aides précieuses
 
Re : Sélectionner valeures non grisées

Merci, mais comment éviter de copier les bordures ?

Code:
Sub test1()
col = Array("C", "H", "M", "R")
For n = 0 To UBound(col)
  For Each cel In Range(col(n) & "1:" & col(n) & Range(col(n) & "65536").End(xlUp).Row)
     If cel.Value <> "" And cel.Font.Color <> 8421504 Then
         For Each cell In Sheets("Parc").Range("C7:C158")
           If cel.Value = cell.Value Then
             cell.Copy Destination:=cel
           End If
         Next cell
     End If
  Next cel
Next n
End Sub
 
Re : Sélectionner valeures non grisées

re

A tester:
Code:
Sub test1()
col = Array("C", "H", "M", "R")
For n = 0 To UBound(col)
  For Each cel In Range(col(n) & "1:" & col(n) & Range(col(n) & "65536").End(xlUp).Row)
     If cel.Value <> "" And cel.Font.Color <> 8421504 Then
         For Each cell In Sheets("Parc").Range("C7:C158")
           If cel.Value = cell.Value Then
             cell.Copy Destination:=cel
             [COLOR=blue]cel.Borders.Linestyle=xlNone
[/COLOR]           End If
         Next cell
     End If
  Next cel
Next n
End Sub
 
Re : Sélectionner valeures non grisées

Bonjour et merci Pierre Jean,
c'est presque celà : le problème c'est que celà supprime les bordures des cellules alors que je voudrais qu'elle restent dans leur format d'origine (et qu'elles ne prennent pas le format bordure de la feuille "Parc")

Si vous pouviez encore m'aider.
 
Re : Sélectionner valeures non grisées

Re

Teste ceci

S'il y a encore des differences c'est que d'autres proriétés des 'Borders' (bordures) sont a recuperer

Code:
Sub test1()
col = Array("C", "H", "M", "R")
For n = 0 To UBound(col)
For Each cel In Range(col(n) & "1:" & col(n) & Range(col(n) & "65536").End(xlUp).Row)
If cel.Value <> "" And cel.Font.Color <> 8421504 Then
For Each cell In Sheets("Parc").Range("C7:C158")
If cel.Value = cell.Value Then
[COLOR=blue]x=cel.Borders.Linestyle[/COLOR]
[COLOR=blue]y=cel.borders.Weight [/COLOR]
cell.Copy Destination:=cel
[COLOR=blue]cel.Borders.Linestyle=x[/COLOR]
[COLOR=#0000ff]cel.Borders.Wieight=y[/COLOR]
End If
Next cell
End If
Next cel
Next n
End Sub
 
Re : Sélectionner valeures non grisées

Bonsoir ,
avec le dernier code j'ai un message d'erreur :
impossible de définir la propriété Line Style de la classe Borders

Comment remédier à ce problème ? Je suis amateur débutante et essaie de comprendre petit à petit les ficelles de la programmation.

Merci de votre patience
 
Re : Sélectionner valeures non grisées

Bonjour,
Le fichier zippé est le même que celui du 6/06/2008 avec les même codes.
Avec ce fichier la bordure de C8 reprend la bordure de la feuille PARC.

Comment définir la propriété Line Style de la classe Borders dans VBA pour ce code ?
Code:
Sub test1()
col = Array("C", "H", "M", "R")
For n = 0 To UBound(col)
For Each cel In Range(col(n) & "1:" & col(n) & Range(col(n) & "65536").End(xlUp).Row)
If cel.Value <> "" And cel.Font.Color <> 8421504 Then
For Each cell In Sheets("Parc").Range("C7:C158")
If cel.Value = cell.Value Then
x=cel.Borders.Linestyle
y=cel.borders.Weight 
cell.Copy Destination:=cel
cel.Borders.Linestyle=x
cel.Borders.Wieight=y
End If
Next cell
End If
Next cel
Next n
End Sub
 
Re : Sélectionner valeures non grisées

Ce n'est pas encore exactement ça, il ne faut pas toucher aux bordures de cellules d'origine de la feuille VERT. Elles peuvent être différentes selon les cases .
 
Re : Sélectionner valeures non grisées

Re

La je rends mon tablier !!
Il faut importer la mise en forme sans toucher aux bordures qui sont partie integrante de la mise en forme !!!
Quelles sont les caracteristiques qui ne sont pas respectées ???
 
Re : Sélectionner valeures non grisées

Bon je vais réfléchir à une autre solution pour réïntégrer les bordures voulues.

Merci pour vos efforts.

Je vais mettre un autre sujet sur le forum concernant un BUG de recherche.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
492
Réponses
11
Affichages
802
Réponses
18
Affichages
777
Retour