Probleme selection sous VBA excel
Benjamin
-
guillaumesk850 -
guillaumesk850 -
J'ai un probleme de selection de lignes sur excel. En effet, j'ai créé une macro afin de colorier une selection de lignes mais lorsque je clique sur le bouton de commande il me renvoit une erreur : ce qui est normal puisque lorsque je clique sur le bouton de commande, la sélection prise en compte est le bouton de commande. J'aimerais remédier à ce problème.
Merci d'avance
Merci d'avance
A voir également:
- Probleme selection sous VBA excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
10 réponses
Bonjour,
Puisque cette routine est "Private" et d'après votre message, je comprends que la bouton est directement sur la feuille, est-ce bien cela ou le code est sous un "UserForm" ?
Voilà la routine corrigé, si j'ai bien compris le but de l'expression "Selection.Row - 1".
Private Sub Couleur_Click()
If ActiveCell.Offset(-1, 0).Interior.ColorIndex = 35 Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 36
Else
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 35
End If
End Sub
Amicalement
Lupin
Puisque cette routine est "Private" et d'après votre message, je comprends que la bouton est directement sur la feuille, est-ce bien cela ou le code est sous un "UserForm" ?
Voilà la routine corrigé, si j'ai bien compris le but de l'expression "Selection.Row - 1".
Private Sub Couleur_Click()
If ActiveCell.Offset(-1, 0).Interior.ColorIndex = 35 Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 36
Else
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 35
End If
End Sub
Amicalement
Lupin
re :
Bienvenue
Au fait, vous parlier de ligne à colorier :
If ActiveCell.Offset(-1, 0).Interior.ColorIndex = 35 Then
ActiveCell.Offset(-1, 0).EntireRow.Interior.ColorIndex = 36
Else
ActiveCell.Offset(-1, 0).EntireRow.Interior.ColorIndex = 35
End If
Amicalement
Lupin
Bienvenue
Au fait, vous parlier de ligne à colorier :
If ActiveCell.Offset(-1, 0).Interior.ColorIndex = 35 Then
ActiveCell.Offset(-1, 0).EntireRow.Interior.ColorIndex = 36
Else
ActiveCell.Offset(-1, 0).EntireRow.Interior.ColorIndex = 35
End If
Amicalement
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai fait un petit programme sous excel 97 avec vba
avec baucoup de "for..next","Select case" , "dim a(1 to 68)"
Mon programme a l'air nickel, mais j'ai un message d'erreur
en cours d'execution "PROCEDURE TROP GRANDE"
Pouvez-vous m'aider sur le message?
Merci d'avance.
avec baucoup de "for..next","Select case" , "dim a(1 to 68)"
Mon programme a l'air nickel, mais j'ai un message d'erreur
en cours d'execution "PROCEDURE TROP GRANDE"
Pouvez-vous m'aider sur le message?
Merci d'avance.
Bonjour,
Pour ce faire, il vous faut copier votre procédure ici !!!
Malheureusement, je ne suis pas devin :-)
Il vous suffirais probablement de découper votre
procédure en petite fonction.
Lupin
Pour ce faire, il vous faut copier votre procédure ici !!!
Malheureusement, je ne suis pas devin :-)
Il vous suffirais probablement de découper votre
procédure en petite fonction.
Lupin
Bonjour,
J'ai une macro qui fonctionne bien pour remplacer les cellules vides par le chiffre 0 une fois que la zone est définie (dans l'exemple ci-dessous zone définie et nommée "ville"). Est-il possible que cette macro fonctionne sur une zone non définie à l'avance. C'est - à dire, j'ouvre ma feuille excel, je sélectionne une zone et je clique sur ma macro pourqu'elle remplace tous les cellules vides par zéro.
Quelles sont les modifs effectuer sur la macro suivante au niveau de la définition de la variable Range :
Sub zero1()
For Each c In Range("ville")
If c.Value = "" Then
c.Value = 0
End If
Next
End Sub
Merci de m'aider ;-)
Céline
J'ai une macro qui fonctionne bien pour remplacer les cellules vides par le chiffre 0 une fois que la zone est définie (dans l'exemple ci-dessous zone définie et nommée "ville"). Est-il possible que cette macro fonctionne sur une zone non définie à l'avance. C'est - à dire, j'ouvre ma feuille excel, je sélectionne une zone et je clique sur ma macro pourqu'elle remplace tous les cellules vides par zéro.
Quelles sont les modifs effectuer sur la macro suivante au niveau de la définition de la variable Range :
Sub zero1()
For Each c In Range("ville")
If c.Value = "" Then
c.Value = 0
End If
Next
End Sub
Merci de m'aider ;-)
Céline
Colonne = 1
If Cells(Selection.Row-1, Colonne).Interior.ColorIndex = 35 Then
Selection.Interior.ColorIndex = 36
Else
Selection.Interior.ColorIndex = 35
End If
End Sub
Voilà. Merci beaucoup
Je cherche mnt comment réaliser la chose suivante :
apres mon THEN, j'aimerais que si la condition est remplie, le programme selectionne dans une autre page (Feuil5) une colonne de 4 cellules (qui dépendent de ma boucle : for i = ..........) et les mettre en forme (texte en gras, centré sur fond rouge)
Le probleme que je rencontre réside dans la fonction RANGE ou dans la fonction SELECT (oui je pense avoir presque tout essayer --')
voila ma ligne, savez vous ce qu'il ne va pas ..?
CODE 1 :
Sheets("ZONE").Select
Range(Cells(1, i), Cells(4, i)).HorizontalAlignment = xlCenter
CODE 2
Feuil5.Range(Cells(1, i), Cells(4, i)).HorizontalAlignment = xlCenter
CODE 3 :
Sheets("ZONE").Select
Range(Cells(1, i), Cells(4, i)).Select
With Selection.Interior
.ThemeColor = xlThemeColorAccent6
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Encore merci a vous,
A bientot