Modif

Résolu/Fermé
jack2125 Messages postés 366 Date d'inscription jeudi 5 septembre 2019 Statut Membre Dernière intervention 15 octobre 2024 - Modifié le 26 févr. 2020 à 12:06
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 27 févr. 2020 à 21:47
bonjour a tous
cet algo qui n'est pas automatique
 Sub plus1()
Dim Col, Deb, Fin As Integer
Dim Incr As Double
 Col = Application.InputBox("Colonne A")
Deb = Application.InputBox("Debut 10")
Fin = Application.InputBox("Fin 62")
Incr = Application.InputBox("Incrementation 1")
 Do
Range(Col & Deb) = Range(Col & Deb) + Incr
Deb = Deb + 1
Loop Until Deb = Fin + 1
End Sub

il faut que je rentre manuellement la colonne concernée BU
la ligne départ 10
La ligne Fin 62
je n'arrive pas a rentrer automatiquement ces conditions

merci beaucoup

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 26 févr. 2020 à 19:34
Re,

Quand la demande est plus explicite, la réponse est plus simple :
Option Explicit
Sub plus1()
Dim Lig As Integer, Incr As Integer
  Incr = 1
  For Lig = 10 To 62
    If ActiveSheet.Cells(Lig, "A").Font.Bold Then
      ActiveSheet.Cells(Lig, "BU").Value = ActiveSheet.Cells(Lig, "BU").Value + Incr
    End If
  Next Lig
End Sub


1
jack2125 Messages postés 366 Date d'inscription jeudi 5 septembre 2019 Statut Membre Dernière intervention 15 octobre 2024
27 févr. 2020 à 17:06
bonjour
pour celle ci c'est quand Bold est False que l'on incrémente
merci si tu peux me l'inverser
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > jack2125 Messages postés 366 Date d'inscription jeudi 5 septembre 2019 Statut Membre Dernière intervention 15 octobre 2024
27 févr. 2020 à 21:47
   If Not ActiveSheet.Cells(Lig, "A").Font.Bold Then
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 26 févr. 2020 à 14:16
Bonjour,

J'aurais écris :
Option Explicit
Sub plus1()
Dim Col As String
Dim Lig As Integer, Fin As Integer, Incr As Integer
  Col = "A"
  Lig = 10
  Fin = 62
  Incr = 1
  Do
    ActiveSheet.Cells(Lig, Col).Value = ActiveSheet.Cells(Lig, Col).Value + Incr
    Lig = Lig + 1
  Loop Until Lig > Fin
End Sub

Ou
Option Explicit
Sub plus1()
Dim Col As String
Dim Lig As Integer, Fin As Integer, Incr As Integer
  Col = "A"
  Lig = 10
  Fin = 62
  Incr = 1
  Do
    With ActiveSheet
      .Cells(Lig, Col).Value = .Cells(Lig, Col).Value + Incr
      Lig = Lig + 1
    End With
  Loop Until Lig > Fin
End Sub



0
jack2125 Messages postés 366 Date d'inscription jeudi 5 septembre 2019 Statut Membre Dernière intervention 15 octobre 2024
26 févr. 2020 à 16:45
salut Patrice
merci pour ta réponse et elle ne me correspond pas
je me suis sans doute mal exprimé
l'incrémentation se fait en fonction de la colonne A de 10:62
si l'une des cellules de A est écrit en gras on ne doit pas incrémenter la colonne BU de 10 à 62 même hauteur de ligne dans chaque cellule
du type: If c.Font.Bold Then
Application.EnableEvents = False
c.Offset(0, 69) = "....
et là je coince
merci d'avance
0