Sélection d'une cellule spécifique

Sélection d'une cellule spécifique - VB/VBA/VBS - Programmation

Marsh Posté le 16-03-2007 à 19:12:48    

J'ai un travail à faire et je comptais utiliser le VBA mais je ne sais pas si une macro pourrait me permettre de faire ceci :  
 
- sur excel, il me faut sélectionner certaines cellules contenant des chiffres et n'étant pas en couleur (aucun remplissage)
- la sélection devra donc écarter les cellules ayant une trame de fond colorée
 
Merci pour votre aide

Reply

Marsh Posté le 16-03-2007 à 19:12:48   

Reply

Marsh Posté le 16-03-2007 à 19:29:43    

tu peux  utilise les boucles
for l=1 to nbredeligne step 1
for c=1 to nbredecol step 1
If IsNumeric(Cells(l,c)) And Cells(l, c).Interior.ColorIndex = xlNone Then
......'selection multiple
end if
next c
next l
 
je regarde pour la selection multiple
 
a+


Message édité par ingenieurcesi le 16-03-2007 à 19:30:21
Reply

Marsh Posté le 16-03-2007 à 19:57:59    

pour l'instant j'ai fait ca par contre j'arrive pas à faire fonctionner le union donc si quelqu'un le sait ou à une autre idée
 
Sub test()
For l = 1 To 4 Step 1
For c = 1 To 4 Step 1
cellule = "Cells(" & l & "," & c & " )"
If IsNumeric(Cells(l, c)) And Cells(l, c).Interior.ColorIndex = xlNone Then
Selection = Selection + ";" + cellule
'......'selection multiple
End If
Next c
Next l
Application.Union(Range(Selection)).Select
End Sub
 
bonne soirée et bon weekend
a+


Message édité par ingenieurcesi le 16-03-2007 à 20:00:22
Reply

Marsh Posté le 16-03-2007 à 20:52:19    

c'est deja une très très bonne piste... bien plus loin que ce que j'aurais espérer pouvoir réaliser
 
il ne reste plus qu'à le mettre en pratique
merci!
 

Reply

Marsh Posté le 17-03-2007 à 15:03:39    

solution definitive (pour ma part)
 
Sub test1()  
premiere = True  
For l = 1 To 4 Step 1  
For c = 1 To 4 Step 1  
If IsNumeric(Cells(l, c)) And Cells(l, c).Interior.ColorIndex = xlNone And Not (IsEmpty(Cells(l, c))) Then  
    If premiere Then  
    Cells(l, c).Select  
    premiere = False  
    Else  
    Union(Selection, Cells(l, c)).Select  
    End If  
End If  
Next c  
Next l  
End Sub
 
il faut que tu changes les
For l = 1 To 4 Step 1  
For c = 1 To 4 Step 1  
 
a+

Reply

Sujets relatifs:

Leave a Replay

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