Bonjour à toutes et à tous,
Cela fait quelques temps que je viens sur ce forum pour m'aider dans mon travail avec les questions des autres, mais cette fois ci c'est à mon tour de poser une question, en espérant que ça en aidera d'autres que moi ! =)
Cela fait deux jours que je sèche sur un problème et après mûre réflexion et beaucoup de recherches je n'ai pas su trouver une solution alors j'espère que vous pourrez m'aider.
Avant même de vous expliquer mon soucis je vous mets le code :
Code:
If Application.CountA(Range("AT20:BQ20")) <> 0 And Application.CountA(Range("BR20:BS20")) = 0 Then
Range("BU20") = 1
ElseIf Application.CountA(Range("AT20:BQ20")) = 0 And Application.CountA(Range("BR20:BS20")) <> 0 Then
Range("BU20") = 0
Else: Range("BU20") = "Pas de simulation en cours"
End If
Ainsi vous pouvez mieux voir la structure. En fait, il faut que j'applique cette petite macro de manière identique mais aux lignes 20, 22, 23, 24 et 26. Exactement la même mais avec le numéro des lignes qui change ! Et cette macro marche comme je veux pour l'exemple donné !
Je me suis essayé à tenter des boucles for each next avec la création d'un vecteur Array(20,22,23,24,26) mais cela n'a pas marché.
Comme il n'y a que 5 macros je pourrais éventuellement faire du copier/coller mais il s'avère que cela fait planter Excel (d'ailleurs si jamais vous avez une idée de pourquoi, je suis preneur ! mais je pense que cela doit entrer en conflit avec une autre macro).
Voilà, j'espère que c'est assez clair ! Je ne peux pas vous donner le contexte entier mais je pense qu'il n'y en a pas besoin pour ma question de toute façon !
Merci d'avance, au moins pour la lecture du soucis ! ^^
Re : Répéter une macro sur plusieurs lignes avec exceptions
Bonjour Bubif, et bienvenue sur le forum
avec ce code:
Code:
Sub Macro1()
lignes = Array(20, 22, 23, 24, 26)
For j = 1 To 5
i = lignes(j - 1)
If Application.CountA(Range("AT" & i & ":BQ" & i)) <> 0 And Application.CountA(Range("BR" & i & ":BS" & i)) = 0 Then
Range("BU" & i) = 1
ElseIf Application.CountA(Range("AT" & i & ":BQ" & i)) = 0 And Application.CountA(Range("BR" & i & ":BS" & i)) <> 0 Then
Range("BU" & i) = 0
Else: Range("BU" & i) = "Pas de simulation en cours"
End If
Next j
End Sub
Re : Répéter une macro sur plusieurs lignes avec exceptions
Salut phlaurent55 !
J'ai testé ton code et je crois que ça marche au poil !
Malheureusement Excel plante à nouveau, mais je pense que cela provient d'un autre endroit, je vais donc vérifier ça !