En sortant d'un onglet je veux dans une plage de cellule située en colonne A de cet onglet avoir le résultat (value!) de la concaténation des colonnes B & C & D pour les lignes concernées.
J'ai donc fait (naïvement)
Private Sub Worksheet_Deactivate()
Range("A2:A1000").Value = Range("b2:b1000").Value & Range("c2:c1000").Value & Range("d2:d1000").Value
End Sub
j'ai en réponse une erreur d'execution de type 13 'incompatibilité de type'...
Re : résultat d'un calcul dans une plage de cellule
A priori avec la boucle ça va marcher (je l'ai déjà fait sur d'autre feuille) ... mais... dans mon cas il n'y a pas en fait 1000 lignes à considérer mais 20000 .... ça prend un "chouya" plus de temps... alors j'imaginai qu'il y avait plus rapide...
Re : résultat d'un calcul dans une plage de cellule
Re,
En utilisant une formule et recopie des valeurs
Code:
Sub test2()
With Range("A2:A20000")
.FormulaR1C1 = "=RC[1]&RC[2]&RC[3]"
.Copy
End With
Range("A2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
End Sub
Plus rapide que la boucle, chez moi le chouya tournait vers les 5 secondes..