Probléme d'affichage

Résolu
r4944 Messages postés 136 Statut Membre -  
r4944 Messages postés 136 Statut Membre -
Bonjour

ce code nous permet de placer un xx dans la cellule 44 (AQ) dans le cas ou
AF= "Completed - Appointment made / Complété - Nomination faite"

j'ai essayé ce code ci dessus , j'ai pas eu des erreurs mais il n'affiche rien :
Sub Decision_Express_Lane()

Dim cell As Range

Dim n As Integer

Dim MaPlage As Range

For n = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
Set MaPlage = Range("A:F").Rows(n)
If CStr(ActiveSheet.Cells(n, 32).Value) = "Completed - Appointment made / Complété - Nomination faite" _
And WorksheetFunction.CountIf(MaPlage, "") = 0 Then
ActiveSheet.Cells(n, 44).Value = "XX"

End If
Next n

End Sub

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    la cellule 44 (AQ) Non, 44 c'est AR et le code marche tres bien. Par contre faire attention a
    ActiveSheet
    , ca peut vous creez des soucis d'ecriture inatendue dans d'autre feuille suivant comment est appelee votre procederure
    1
    1. r4944 Messages postés 136 Statut Membre
       
      Oui F894009 vous avez bien raison est ce que vous me conseillez d'utiliser une autre instruction a la place d'
      ActiveSheet
      ?
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > r4944 Messages postés 136 Statut Membre
         
        Bonjour,

        autre instruction a la place d'ActiveSheet? mettez le nom de la feuille

        ex: entre autre
        Sub Decision_Express_Lane()
            Dim cell As Range, n As Integer, MaPlage As Range
                    
            With Worksheets("feuil1")
                Fin = .Cells(.Rows.Count, 1).End(xlUp).Row
                For n = 2 To Fin
                    Set MaPlage = .Range("A:F").Rows(n)
                    If .Cells(n, 32).Value = "Completed - Appointment made / Complété - Nomination faite" _
                                And WorksheetFunction.CountIf(MaPlage, "") = 0 Then
                        .Cells(n, 44).Value = "XX"
                    End If
                Next n
            End With
        End Sub


        ou encore plus reduit

        Sub Decision_Express_Lane()
            Dim cell As Range, n As Integer
                    
            With Worksheets("feuil1")
                Fin = .Cells(.Rows.Count, 1).End(xlUp).Row
                For n = 2 To Fin
                    If .Cells(n, 32).Value = "Completed - Appointment made / Complété - Nomination faite" _
                                And WorksheetFunction.CountIf(.Range("A:F").Rows(n), "") = 0 Then
                        .Cells(n, 44).Value = "XX"
                    End If
                Next n
            End With
        End Sub
        
        0
    2. r4944 Messages postés 136 Statut Membre
       
      Merci beaucoup pour Votre Aide :))
      0