Selection 'intelligente' de lignes
ninin31
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois réaliser une conversion sur un grand nombre de valeurs (je dois simplement les diviser par 1.10^6) et remplacer l'ancienne colonne par celle avec les valeurs converties, la macro est petite et facile à enregistrer mais un problème se pose lorsque je dois l'appliquer a d'autres fichier, en effet le nombre de valeurs varie d'un fichier a un autre, alors forcement je me retrouve avec des cases vides.
le bout de code incriminé est celui la:

alors ma question est: est il possible sélectionner des données en s'adaptant a chaque fichier? en clair a la place d'avoir ce 'C53447' je voudrais une fonction qui va jusqu’où s’arrêtent les données
j’espère avoir été clair :)
merci!!
Ps: je suis archi-debutant en VB/VBA, mais ca, vous avez du le remarquer!
Je dois réaliser une conversion sur un grand nombre de valeurs (je dois simplement les diviser par 1.10^6) et remplacer l'ancienne colonne par celle avec les valeurs converties, la macro est petite et facile à enregistrer mais un problème se pose lorsque je dois l'appliquer a d'autres fichier, en effet le nombre de valeurs varie d'un fichier a un autre, alors forcement je me retrouve avec des cases vides.
le bout de code incriminé est celui la:

alors ma question est: est il possible sélectionner des données en s'adaptant a chaque fichier? en clair a la place d'avoir ce 'C53447' je voudrais une fonction qui va jusqu’où s’arrêtent les données
j’espère avoir été clair :)
merci!!
Ps: je suis archi-debutant en VB/VBA, mais ca, vous avez du le remarquer!
A voir également:
- Selection 'intelligente' de lignes
- Partage de photos en ligne - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Formulaire en ligne de meta - Guide
- Supprimer lignes vides excel fin de tableau - Forum Excel
- Écrire plusieurs lignes dans une cellule excel mac - Guide
2 réponses
Bonjour
Permet de diviser la colonne C depuis lideb (constante) jusqu'à lifin (variable) par coeff, en passant par l'intermédiaire du tableau T (pour accélérer l'exécution)
Cdlmnt
Permet de diviser la colonne C depuis lideb (constante) jusqu'à lifin (variable) par coeff, en passant par l'intermédiaire du tableau T (pour accélérer l'exécution)
Const co = "C"
Const lideb = 2
Const coeff = 100000
Public Sub OK()
Dim lifin As Long, nT As Long, T(), li As Long
With ActiveSheet
lifin = .Cells(Rows.Count, co).End(xlUp).Row
nT = lifin - lideb + 1
ReDim T(lideb To lifin)
For li = lideb To lifin
T(li) = .Cells(li, co).Value / coeff
Next li
.Cells(lideb, co).Resize(nT, 1) = Application.Transpose(T)
End With
End Sub
Cdlmnt
Bonjour Ninin, bonjour le forum,
Essaie comme ça :
Toujours éviter les Select (quand on le peut) car ils ralentissent l'exécution du code...
Essaie comme ça :
Sub Macro1() Dim DL As Long 'déclare la variable DL (Dernière Ligne) DL = Range("B" & Application.Rows.Count).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne B Range("C1").FormulaR1C1 = "=RC[-1]/10000000" 'écrit la formule en C1 Range("C1").AutoFill Destination:=Range("C1:C" & DL) 'recopie la formule jusqu'à la dernière ligne DL End Sub
Toujours éviter les Select (quand on le peut) car ils ralentissent l'exécution du code...