Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/08/2011, 00h11   #1
Invité régulier
 
Femme
Etudiante
Inscription : avril 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Etudiante
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 14
Points : 9
Points : 9
Par défaut Fonction IsNumeric et For Each _In _Next

Bonsoir à tous!
Je me permets de vous proposer un petit problème que j'ai du mal à résoudre:
'Écrire une macro « changer_couleur » qui change de couleur les cellules sélectionnées (For Each In Next). Dans le cas où le contenu des cellules est une valeur numérique, Si le nombre est pair il doit être affiché en bleu, s'il est impair en rouge. Dans les autres cas, la macro ne fait rien.

Voila ce que j'ai pu faire
Code :
1
2
3
4
5
6
7
8
9
10
11
Sub changer_couleur()
Dim Cell As Range
Dim Nun, i
For Each Cell In Range("A1:E10") 'normalement je ne dois pas définir les cellules mais pour l'instant je ne sais pas faire autrement.
i = i + 1
If Num = IsNumeric(Cell) Then 'je n'ai pas tenu compte du nombre pair ou imparire
Cell.Interior.ColorIndex = 3
End If
Next
 
End Sub
Je vous remercie par avance pour votre aide
Respectueusement

Souad
souad12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 03h22   #2
Expert Confirmé
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 1 700
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : ex Observeur CGG / Analyste prog.

Informations forums :
Inscription : juin 2006
Messages : 1 700
Points : 3 617
Points : 3 617
Salut, voir les MFC http://silkyroad.developpez.com/Exce...onditionnelle/ http://excel.developpez.com/faq/?page=mefc
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 07h48   #3
Membre Expert
 
Avatar de rvtoulon
 
Homme Hervé
Agent Technique
Inscription : mars 2009
Messages : 823
Détails du profil
Informations personnelles :
Nom : Homme Hervé
Âge : 36
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Agent Technique
Secteur : Santé

Informations forums :
Inscription : mars 2009
Messages : 823
Points : 1 441
Points : 1 441
Bonjour,
une solution via vba et l'utilisation de isnumeric et de isempty, regarde dans l'aide à quoi correspond ces fonctions.

La macro si dessous vérifie dans chaque cellule de la plage sélectionnée si elle n'est pas vide et si son contenu est un chiffre, puis elle vérifie si le chiffre est impair :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub changer_couleur()
Dim Cell As Range, num As Long
 
For Each Cell In Selection
  If Not IsEmpty(Cell) And IsNumeric(Cell) Then 'teste si la cellule n'est pas vide et si elle contient un nombre
    num = Cell.Value
 
      If (num And 1) Then 'teste si la variable num est impair
        Cell.Interior.ColorIndex = 3 'cellule rouge
      Else
        Cell.Interior.ColorIndex = 6 'cellule jaune
      End If
 
  End If
 
Next
 
End Sub
A toi d'adapter si il y a besoin.
Il doit y avoir mieux mais ça fonctionne.
__________________
@+

Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
Ou sur si ce n'est pas le cas
rvtoulon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/08/2011, 11h01   #4
Invité régulier
 
Femme
Etudiante
Inscription : avril 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Etudiante
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 14
Points : 9
Points : 9
Merci à tous pour vos réponses!!!

Sincères salutation
souad12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h31.


 
 
 
 
Partenaires

Hébergement Web