Menu

Diviser des colones pas 1000 avec VBA [Résolu/Fermé]

bobytto 19 Messages postés mardi 10 janvier 2017Date d'inscription 10 février 2017 Dernière intervention - 7 févr. 2017 à 17:43 - Dernière réponse : Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention
- 10 févr. 2017 à 19:01
Bonjour,

Je souhaire divisier des plages de cellules dynamiques (la longueur n'est pas toujours la meme) par 1000 avec VBA.

Mes colonnes sont les suivantes et commencent a la ligne 4 : ("I:J,L:M,P:Q,T:U,W:X,AA:AB").

Merci pour votre aide,

Ben
Afficher la suite 

19 réponses

yg_be 5287 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 7 févr. 2017 à 21:27
+1
Utile
2
bonsoir, c'est effectivement faisable.
dans le cas où tu as peu d'expérience en VBA, as-tu envisagé de faire cela avec des formules?
Cette réponse vous a-t-elle aidé ?  
Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 8 févr. 2017 à 06:02
Bonjour,

S'il veut que le résultat soit dans la cellule d'origine avec les formules ça va merder.
bobytto 19 Messages postés mardi 10 janvier 2017Date d'inscription 10 février 2017 Dernière intervention - 8 févr. 2017 à 16:35
oui avec des formules et specialement avec le "copy - divide into" j'ai deja fait mais la ca serait pour le faire automatiquement via la macro.
Je vais trouver une solution
Merci pour vos reponses quand meme
Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 8 févr. 2017 à 06:11
0
Utile
13
Je n'ai pas de quoi tester sous la main, mais ça n'est qu'une simple boucle for.

Tapé de tête, donc un truc un peu comme ca.
Dim derniereLigne as integer
derniereLigne =10'là tu mettras la bonne valeur

For i = 4 to derniereLigne
     Activesheet.Cells(i,9).Value = Activesheet.Cells(i,9).Value/1000'si je ne me suis pas trompé la colonne I c'est 9
     Activesheet.Cells(i,10).Value = Activesheet.Cells(i,10).Value/1000'colonne L
'Etc.
Next i

Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention > pijaku 12205 Messages postés jeudi 15 mai 2008Date d'inscriptionModérateurStatut 13 septembre 2017 Dernière intervention - 8 févr. 2017 à 19:01
et oui, on ne se refait pas hein!!!

Edit: finalement je ne voies pas de quoi tu parles.....
pijaku 12205 Messages postés jeudi 15 mai 2008Date d'inscriptionModérateurStatut 13 septembre 2017 Dernière intervention > Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 9 févr. 2017 à 10:30
Lut,

finalement ce petit jeu peut durer longtemps...
Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention > pijaku 12205 Messages postés jeudi 15 mai 2008Date d'inscriptionModérateurStatut 13 septembre 2017 Dernière intervention - 9 févr. 2017 à 12:53
Moui moui moui
bobytto 19 Messages postés mardi 10 janvier 2017Date d'inscription 10 février 2017 Dernière intervention - 10 févr. 2017 à 18:31
Hello Whismeril,

J'ai bien etudier ton lien et j'ai reussi a faire ce que je voulais! J'ai un peu galere car il y avait un bug qui revenait sans cesse, c'etait a cause du :

cmpt1 As Long, cmpt2 As Long (cf Introduction)

que j'ai transformer en :

cmpt1 As Double, cmpt2 As Double

car mes chiffres etaient a virgules.



Aussi, j'ai eu des difficultes avec (cf Introduction) :

Dim Montab As Variant, cmpt1 As Long, cmpt2 As Long
Montab = Range("A1:J65535").Value

car je ne voulais pas diviser toutes les colonnes de mon tableau par 1000 mais seulement certaines d'entre elles ("I:J,L:M,P:Q,T:U,W:X,AA:AB").

Du coup, j'ai teste en repetant l'operation decrite en Introduction pour chaque groupe de colonnes :
Montab = Range("I1:L65535").Value blablabla...

Merci pour ton apport, ca m'a appris un truc et content que l'on est pu clarifier la situation initial :)

Bonne journee!
Whismeril 11417 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 10 févr. 2017 à 19:01
Tant mieux.

Pense à marquer le sujet résolu.
pijaku 12205 Messages postés jeudi 15 mai 2008Date d'inscriptionModérateurStatut 13 septembre 2017 Dernière intervention - 9 févr. 2017 à 07:52
0
Utile
1
Bonjour tout le monde,

Complément d'information nécessaire :
Mes colonnes sont les suivantes et commencent a la ligne 4 : ("I:J,L:M,P:Q,T:U,W:X,AA:AB")

Tu veux quoi ?
1- que I, J, L, M, P, Q etc soient toutes divisées par 1000
2- que J = I/1000, M = L/1000, Q = P /1000 etc...
bobytto 19 Messages postés mardi 10 janvier 2017Date d'inscription 10 février 2017 Dernière intervention - 10 févr. 2017 à 16:50
Bonjour Pijaku,

Je cherche a diviser toutes ces colonnes par 1000, donc choix 1.
Je suis en train d'etudier la proposition de Whismeril mais si tu connais un autre moyen, je suis preneur car je souhaite agrementer mon bagage technique sur VBA!