Modif

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

2 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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 457 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
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > jack2125 Messages postés 457 Date d'inscription   Statut Membre Dernière intervention  
 
   If Not ActiveSheet.Cells(Lig, "A").Font.Bold Then
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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 457 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