Modif

Résolu
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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

vous êtes super!
merci à tous

2 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
    1. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       
      bonjour
      pour celle ci c'est quand Bold est False que l'on incrémente
      merci si tu peux me l'inverser
      0
      1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784 > jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
         
           If Not ActiveSheet.Cells(Lig, "A").Font.Bold Then
        0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
    1. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       
      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