Bonjour à tous! (et merci pour votre aide dans mon dernier post)
Voilà mon code (préparez-vous ça va faire mal :p)
et ça marche pas >< je suppose que ça doit venir du fait qu'il y ai trante-six millions de contions pour une instruction mais j'ai passé la matinée à chercher des infos sur ce sujet et pas trouvé... donc je m'en remets à vous^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim i As Integer For i = 2 To 340 Step 1 If Range("D" & i).Value = "NAPPE PROFONDE" Or Range("D" & i).Value = "NAPPE ALLUVIALE" Or Range("D" & i).Value = "RETENUE ARTIFICIELLE" Or Range("D" & i).Value = "RETENUE<-NAPPE PROFONDE" Or Range("D" & i).Value = "RETENUE<-NAPPE ALLUVIALE" Or Range("D" & i).Value = "RETENUE<-SOURCE" Or Range("D" & i).Value = "SOURCE" Or "Range("D" & i).Value = NAPPE LIBRE" Then Range("D" & i).Value = "NAPPE" ElseIf Range("D" & i).Value = "RETENUE<-COURS D EAU NAT." Or Range("D" & i).Value = "CANAL" or Range("D" & i).Value = "COURS D'EAU NATUREL" or Range("D" & i).Value = "RETENUE<-EAUX RUISSELLEM." Or Then Range("D" & i).Value = "EAU SURFACE" Else Range("D" & i).Value = "RETENUE SUPERFICIELLE" End If Next i
en gros j'ai ce genre de tableau (pour différents type d'utilisation d'eau) :
Numéro Commune Nature de ressource Total prélévement
16001 ABZAC COURS D'EAU NATUREL 1000
16001 ABZAC RETENUE ARTIFICIELLE
16001 ABZAC RETENUE<-SOURCE 0
16009 AMBERNAC COURS D'EAU NATUREL 0
16009 AMBERNAC COURS D'EAU NATUREL 9600
16009 AMBERNAC COURS D'EAU NATUREL 67200
16009 AMBERNAC RETENUE ARTIFICIELLE
16009 AMBERNAC RETENUE<-COURS D EAU NAT. 0
16064 BRIGUEUIL RETENUE<-SOURCE 0
16070 CHABANAIS COURS D'EAU NATUREL 29800
16086 CHASSENON RETENUE COLLINEAIRE
16106 CONFOLENS COURS D'EAU NATUREL 0
16106 CONFOLENS COURS D'EAU NATUREL 0
et je souhaiterais diminuer les variables (nature ressource) en 3 variables : eau surface, nappe et retenue superficielle
je pensais essayer un si en formule sous excel mais avec la version du pc sur lequel je suis c'est compliquer de même que le rechercher/remplacer (plus long je pense)...d'où l'idée de faire une macro VBA mais elle marche pas
Merci de votre aide!!
Partager