[Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différent

dodoc5

XLDnaute Nouveau
Bonjour, j'arrive pas à debug ceci qui est mon fichier test :

Code:
Option Explicit

Function ISPAIR(Nb As Long) As Boolean
    ISPAIR = Nb Mod 2 = 0
    End Function


Sub Bouton1_Cliquer()

Dim i As Long

For i = 1 To 20 Step 1

    If ISPAIR(i) Then
        Range("A" & i + ":E" & i).Select
        Selection.Interior.Color = RGB(220, 230, 241)
    Else
        Range("A" & i + ":E" & i).Select
        Selection.Interior.Color = RGB(241, 245, 249)
    End If
Next


End Sub

J'obtiens une erreur au deuxième range avec une incompatibilité de type mais impossible de corriger ... Vous avez une idée ?

Merci !
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Incompatibilité de type sur un range

Salut dodoc5

Supprime moi tout de suite ces "+" crévindioux :eek:
et remplace les par des "&" ;)

Et pas besoin de "select"
Code:
Sub Bouton1_Cliquer()
  Dim i As Long
  For i = 1 To 20 Step 1
    If ISPAIR(i) Then
        Range("A" & i & ":E" & i).Interior.Color = RGB(220, 230, 241)
    Else
        Range("A" & i & ":E" & i).Interior.Color = RGB(241, 245, 249)
    End If
  Next
End Sub

A+
 

dodoc5

XLDnaute Nouveau
Re : Incompatibilité de type sur un range

Merci pour la réponse rapide Bruno ! Je me souviendrais du crévindioux "&" ^^

Je partage la fonction finale et je passe en [résolu]

Code:
Function ISPAIR(Nb As Long) As Boolean
    ISPAIR = Nb Mod 2 = 0
    End Function


Sub ColorMAJ(debut As Long, colonnefin As String, longueur As Long)

Dim i As Long

For i = debut To longueur Step 1

        If ISPAIR(i) Then
            Range("A" & i & ":" & colonnefin & i).Interior.Color = RGB(220, 230, 241)
        Else
            Range("A" & i & ":" & colonnefin & i).Interior.Color = RGB(241, 245, 249)
        End If
Next


End Sub
 

Misange

XLDnaute Barbatruc
Re : [Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différe

Bonjour,
Petite remarque au passage,
si c'est pour colorier une ligne sur deux, la macro ci dessus est OK mais quand tu modifies l'ordre de tes lignes, ou que tu filtres ou... ta belle alternance est perdue.
dans excel 2007 et 2010 il y un outil qui fait ça parfaitement et sans macro, ça s'appelle les tableaux : onglet accueil/style/mettre sous forme de tableau.
déjà c'est joli (et on peut paramétrer plein de trucs de présentation) mais ça permet surtout beaucoup beaucoup plus que cela.
Voir ici
Ce lien n'existe plus
 

dodoc5

XLDnaute Nouveau
Re : [Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différe

Pour ne pas perdre justement la régularité même à la suppression de ligne j'appelle la fonction après chaque fin gros traitement, c'est un poil plus lourd mais ça fonctionne ^^
 
C

Compte Supprimé 979

Guest
Re : [Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différe

Coucou Misange,

dodoc5, il y a aussi la MFC (Mise en Forme Conditionnelle) qui peut fonctionner très bien ;)

A+
 

Misange

XLDnaute Barbatruc
Re : [Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différe

Tu alourdis vraiment inutilement le traitement alors que ça se fait automatiquement. Je trouve toujours très dommage que si peu de gens qui ont excel 2007 et + utilisent cette fonctionnalité qui est une des plus intéressante qu'excel ait intégré depuis longtemps. Jette un oeil sur le tuto, tu verras qu'il y a vraiment beaucoup d'avantages à utiliser les tableaux, notamment parce qu'ils sont dynamiques sans avoir besoin de pondre des formules compliquées avec decaler ou autre. Les graphiques créés avec des tableaux se mettent à jour tout seuls, les formules se recopient toute seule dans la ligne suivante, pas besoin de prévoir des lignes vides pour les données non encor remplies. Bref c'est super pratique. A toi de voir mais je t'incite à faire l'essai tu verras que c'est fort pratique.
Un énorme avantage aussi c'est que tu peux avoir plusieurs tableaux sur une même page que tu filtres indépendamment les uns des autres. Facile de modifier les couleurs, l’alternance des bandes (3 blanches 1 verte...), titres en gras et autres.
 
C

Compte Supprimé 979

Guest
Re : [Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différe

Re,

Tu alourdis vraiment inutilement le traitement alors que ça se fait automatiquement. Je trouve toujours très dommage que si peu de gens qui ont excel 2007 et + utilisent cette fonctionnalité
Je pense que c'est parce que nous ne connaissons pas les possibilités de 2007 ou 2010 !

Perso, je travaille toujours avec 2003 et je connais à peine 2010 (je n'ai toujours pas compris le raisonnement dans le placement des boutons dans les onglets !?)

Jette un oeil sur le tuto, tu verras qu'il y a vraiment beaucoup d'avantages à utiliser les tableaux, notamment parce qu'ils sont dynamiques sans avoir besoin de pondre des formules compliquées avec decaler ou autre. Les graphiques créés avec des tableaux se mettent à jour tout seuls, les formules se recopient toute seule dans la ligne suivante, pas besoin de prévoir des lignes vides pour les données non encor remplies. Bref c'est super pratique. A toi de voir mais je t'incite à faire l'essai tu verras que c'est fort pratique.Un énorme avantage aussi c'est que tu peux avoir plusieurs tableaux sur une même page que tu filtres indépendamment les uns des autres. Facile de modifier les couleurs, l’alternance des bandes (3 blanches 1 verte...), titres en gras et autres.
Tu as presque réussi à me convertir ;):D

Bises
 

Misange

XLDnaute Barbatruc
Re : [Résolu]Incompatibilité de type sur un range et coloration ligne 1 sur 2 différe

Re,
Tu as presque réussi à me convertir ;):D

Bises

Tu as 2010 et tu bosses avec 2003 ? Quel dommage.
Dans 2010 tu peux facilement te faire un onglet personnalisé avec tes boutons préférés. Au début je l'avais fait mais en fait j'ai abandonné car après pour dépanner sur le forum je ne sais plus où sont les trucs :). J'ai toujours la barre d'accès rapide personnalisée avec l'accès à mes macros de base en revanche. C'est quand je dois retourner sur 2003 que je suis vraiment perdue maintenant. En gros c'est comme le passage à l'euro, au début tu convertis et puis au bout d'un moment ça te fait vraiment drole quand tu ne te rappelles même plus quel était ton salaire en francs.
En revanche dans outlook, j'ai un onglet personnalisé qui contient tout ce dont j'ai besoin et je ne vais quasi jamais sur les autres.

Autant 2007 est agaçant car pas abouti sur plein de trucs (le VBA et les graphiques en particulier), autant 2010 est je trouve une des meilleures versions, avec la 2002 que microsoft ait sorti. Je ne me passe plus des tables. C'est un vrai réflexe chez moi, dès que je peux je mets sous forme de table. Ca permet par exemple aussi de déplacer en bloc dans la feuille ce qui a besoin de rester ensemble, c'est quand même plus facile de comprendre pas mal de formules en utilisant ce mode de référence.
Gros gros agacement car certains trucs ne sont pas aboutis complètement sur les tables mais globalement ça ce n'est pas du marketing, c'est un vrai plus (contrairement à des tas d'autres trucs).

Franchis le pas tu verras c'est juste un mauvais moment à passer :)
 

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 261
Membres
102 844
dernier inscrit
atori2