Utilisatio du if en VBA sur Excel

Bonjour a tous
j'ai un problème concernant VBA et si vous vous y connaissait un peu pouriez vous m'aider svp? merci d'avance

2 réponses

  1. Contributeur
    Salut,

    expose ton problème en détails et ce sera surement plus facile de t'aider ;)

    Bonne journée
    0
    1. bonjour
      alors mon problème est compliqué donc je vais essayer de bien vous l'expliquer. je vous met mon code que j'ai déja fait :

      'si compte commençant par 613... alors
      If InStr(1, CStr(Range("C7").Value), "613") <> 0 Then
      i = 1
      While Not IsEmpty(Cells(i, 1))
      i = i + 1
      Wend
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 1).Value = Range("C7").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 2).Value = Range("H10").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 3).Value = Range("B4").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 4).Value = Range("H5").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 5).Value = Range("H6").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 6).Value = Range("B5").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 7).Value = Range("C10").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 8).Value = Range("D62").Value
      end If
      If InStr(1, CStr(Range("D7").Value), "613") <> 0 Then
      i = Range("K7").Value
      While Not IsEmpty(Cells(i, 1))
      i = i + 1
      Wend
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 1).Value = Range("D7").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 2).Value = Range("H10").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 3).Value = Range("B4").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 4).Value = Range("H5").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 5).Value = Range("H6").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 6).Value = Range("B5").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 7).Value = Range("C10").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 8).Value = Range("D63").Value
      End If
      If InStr(1, CStr(Range("E7").Value), "613") <> 0 Then
      i = Range("K7").Value
      While Not IsEmpty(Cells(i, 1))
      i = i + 1
      Wend
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 1).Value = Range("E7").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 2).Value = Range("H10").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 3).Value = Range("B4").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 4).Value = Range("H5").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 5).Value = Range("H6").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 6).Value = Range("B5").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 7).Value = Range("C10").Value
      Workbooks("VBA.").Sheets("Tab récup données").Cells(i, 8).Value = Range("D64").Value
      End If

      donc je vous explique ce que je veux faire. j'ai 3 cellules "C7", "D7" et "E7". je voudrais que si la cellule C7 comporte un numero commençant par 613 alors mon code s'aplique mais si les autre cellules ("D7" et "E7") commence également par 613 alors un code s'aplique mais si eventuellement deux cellules commence par 613 alors que cela soit pris en compte. j'espère que vous avez compris. merci d'avance
      0
    2. bonjour
      je sais pas si vous avez vu un peu le code que j'ai fait. si oui pouvez vous me dir si vous avez une idée? merci d'avance
      0
    3. Contributeur
      j'ai 3 cellules "C7", "D7" et "E7". je voudrais que si la cellule C7 comporte un numero commençant par 613 alors mon code s'aplique mais si les autre cellules ("D7" et "E7") commence également par 613 alors un code s'aplique mais si eventuellement deux cellules commence par 613 alors que cela soit pris en compte. j'espère que vous avez compris.
      non
      En gros, il doit s'appliquer que si C7 commence par 613 ou bien si les 3 cellules commencent par 613 ?
      En plus dans ton code tu mets <> 613 c'est à dire le contraire... Que veux-tu que l'on comprenne ?
      0
    4. nn pas tous a fait. je peux avoir C7 et D7 qui commence par 613 et il faut donc que c'est deux valeure apparaisse dans mon tableau.
      0
    5. Contributeur
      Bon, ben tant que tu ne t'expliqueras pas mieux je crains que tu ne restes seul un moment...
      0
  2. Bonjour,

    Tu ne t'appelles plus Marie ... Ôo ...

    :o|
    -1
    1. Marie c'est la personne qui s'en occuper avant pourquoi? vous l'a connaissai?
      0
    2. ca marche merci bien
      0
    3. c'est très gentil de mavoir donner un lien pour voir se qui aparament vous a demander beaucoup de patience ( je l'aurai pas été autant enfin bref) mais franchement j'ai du mal a suivre la conversation
      0
    4. j'ai eu aussi beaucoup de mal à suivre ...
      0