For I: Bezsoin d'aide

  • Initiateur de la discussion Initiateur de la discussion Geinoch
  • 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 !

Geinoch

XLDnaute Occasionnel
Bonjour le forum! Besoin d'aide...
J'ai un tableau comme ça par exemple:

A B C
1| 1
2| 2
3| 3
4| 4
5| 5
6| 6

J'essais de faire un bouton, qui à partir de la ligne où la cellule sélectionné est, va diminuer tous les chiffres de 1

Voici mon code...

Private Sub CommandButton1_Click()
Dim DerLig As Integer, LigSel As Integer
Dim Sht As Worksheet
Lignefin = Range("a65536").End(xlUp).Row
Set Sht = ActiveSheet
LigSel = Selection.Cells
For I = Sht.Cells(LigSel, 1) To Sht.Cells(Lignefin, 1)
Sht.Cells(I, 1).Value = Sht.Cells(I, 1).Value - 1
Next I
End Sub

Cependant, cela ne fonctionne correctement que la première fois, ensuite, il diminu pas mal n'importe quelle cellules =(

Aidez moi svp

Merci à l'avance
 
Re : For I: Bezsoin d'aide

Bonjour, tu peux remplacer ton bouton par un évènement de feuille :
Tu sélectionnes ta zone, et tu fait un clic droit :

Private Sub Worksheet_BeforeRightClick(ByVal Cel As Range, Cancel As Boolean)
For Each Cel In Selection
If IsNumeric(Cel) Then Cel.Value = Cel.Value - 1
Next Cel
Cancel = True
End Sub
 
Re : For I: Bezsoin d'aide

Bonjour Gueinoch et le Forum
LigSel = Selection.Cells
For I = Sht.Cells(LigSel, 1) To Sht.Cells(Lignefin, 1)
essais ceci :
LigSel = ActiveCell.Row
For I = LigSel to LignerFin
Bon courage et à +
Denis
 
Re : For I: Bezsoin d'aide

Rebonjour!

Bhbh, ce que je vous montre n'est qu'un petit exemple... quelqu'un ne pourra pas se permettre de sélectionner la zone... Je me dois de faire un bouton... Mais merci pour l'idée, j'ai copier ta formule dans ma banque de formules personnelle 😉

Denis, j'ai fait ça:

Private Sub CommandButton1_Click()
Dim DerLig As Integer, LigSel As Integer
Dim Sht As Worksheet
Lignefin = Range("a65536").End(xlUp).Row
Set Sht = ActiveSheet
LigSel = ActiveCell.Row
For I = LigSel To LignerFin
Sht.Cells(I, 1).Value = Sht.Cells(I, 1).Value - 1
Next I
End Sub

Mais ça ne fonctionne pas, ça fait plus rien :/

Peux tu M'éclairer?????
 
Re : For I: Bezsoin d'aide

Rebonjour le Fil
il y a une faute de frappe dans le premier exemple
j'ai essayé de faire + simple
Private Sub CommandButton1_Click()
Dim DerLig As Integer, LigSel As Integer
With ActiveSheet
Lignefin = .Range("a65536").End(xlUp).Row
LigSel = ActiveCell.Row
For I = LigSel To LigneFin
.Cells(I, 1).Value = .Cells(I, 1).Value - 1
Next I
End With
End Sub
Bon courage et à +
 
- 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

Discussions similaires

Réponses
10
Affichages
662
Réponses
5
Affichages
911
Réponses
5
Affichages
573
Réponses
15
Affichages
786
Réponses
4
Affichages
733
Réponses
2
Affichages
527
Retour