Bonjour,
Depuis des jours, je pense avoir résolu un problème qui réapparaît systématiquement.
J'ai testé toutes les solutions qui me venaient, mais je ne sais vraiment pas comment m'y prendre.
Dans mon document j'ai des surfaces dans une colonne et l'information qui les décrit dans une autre colonne.
Il est courant que la même information apparaisse plusieurs fois ; j'ai donc demandé à ce qu'il additionne les surfaces à chaque fois que des informations sont identiques.
Exemple :
Culture : 1ha
Culture : 0,2 ha
Culture : 1,7 ha
Culture : 0,3 ha
Boisement : 1,7 ha
Donne ceci :
Culture : 3,2 ha
Boisement : 1,7 ha
Le problème c'est que parfois ça fonctionne et je peux continuer ; parfois il n’additionne pas les surfaces mais les concatène.
Cela vient du fait qu'il stocke les valeur sous forme de texte.
J'ai beau modifié les "." par des "," pour changer le format, ça ne change rien.
Savez-vous d'où ça vient ?
Le code en question :
Option Explicit
Dim ws As Worksheet, ws2 As Worksheet
Dim lrws As Long, lrws2 As Long
Dim x As Integer
Public Sub sumdel2()
Set ws = Worksheets("CSV")
Set ws2 = Worksheets("VNEI (EI)")
'Convertir les données surfaces en nombres (en utilisant la virgule)
lrws = ws.Cells(Rows.Count, 1).End(xlUp).Row
ws.Range("AS2:AS" & lrws).Replace what:=".", replacement:=",", LookAt:=xlPart
lrws2 = ws2.Cells(Rows.Count, 2).End(xlUp).Row
'Aditionner les surfaces par habitats
For x = lrws2 To 2 Step -1
If ws2.Cells(x, 2) = ws2.Cells(x - 1, 2) Then
ws2.Cells(x - 1, 4) = ws2.Cells(x, 4) + ws2.Cells(x - 1, 4)
ws2.Rows(x).Delete shift:=xlUp
End If
Next
End Sub
J'ai mis un document en pièce jointe de ce post pour que vous puissiez voir.
Je pense que ça vient du format, mais je ne sais vraiment pas comment me débarrasser de ce problème.
Merci de votre attention.
Bonne journée !