Bonjour au forum,
Ce code me sert à affecter aux cellules H une valeur selon le résultat d'une concaténation de 4 autres cellules (D,E,F,G) :
Sub PhénoSheet()
Nb_colonne = 4 ' nb de colonne à droite
Nb_ligne = 1000 ' nb de lignes à traiter
For Each c In Range("D11:D" & Nb_ligne) ' définition de la première colonne des données à concaténer
concat = c.Value
For i = 1 To Nb_colonne
concat = concat & c.Offset(0, i)
Next
ligne = c.Row
Range("H" & ligne).Value = concat ' colonne qui affichera le resultat (ici colonne H)
If Range("H" & ligne).Value = "++++" Then
Range("H" & ligne).Value = "CcEe"
ElseIf Range("H" & ligne).Value = "----" Then
Range("H" & ligne).Value = "Rh Null"
ElseIf Range("H" & ligne).Value = "+-+-" Then
Range("H" & ligne).Value = "CCEE"
ElseIf Range("H" & ligne).Value = "+--+" Then
Range("H" & ligne).Value = "CCee"
ElseIf Range("H" & ligne).Value = "+-++" Then
Range("H" & ligne).Value = "CCEe"
ElseIf Range("H" & ligne).Value = "-+-+" Then
Range("H" & ligne).Value = "ccee"
ElseIf Range("H" & ligne).Value = "-+++" Then
Range("H" & ligne).Value = "ccEe"
ElseIf Range("H" & ligne).Value = "-++-" Then
Range("H" & ligne).Value = "ccEE"
ElseIf Range("H" & ligne).Value = "+++-" Then
Range("H" & ligne).Value = "CcEE"
ElseIf Range("H" & ligne).Value = "++-+" Then
Range("H" & ligne).Value = "Ccee"
ElseIf Range("H" & ligne).Value = "" Then
Range("H" & ligne).Value = ""
Else
Exit Sub
End If
Next
End Sub
J'aimerais ajouter à ce code d'autres calculs :
- Si dans les cellules des colonnes W ET X le résultat est "-" ET "-", alors écrire dans la cellule AD de la ligne correspondante "Fy(a-b-)"
- Si dans la cellule de la colonne R le résultat est "-", alors écrire dans la cellule AD de la ligne correspondante "k-"
- etc
Auriez-vous une idée pour un code propre (je précise que j'ai besoin que ce soit réalisé par VBA)... ?
Merci d'avance