Excel, sélection par macro sur critère
Smash0065
-
Maurice -
Maurice -
Bonjour,
Je souhaite sélectionner les cellules dont le contenu est égal à 1. J'ai donc créé cette macro mais la commande Range de fin renvoie une erreur.
Voici mon code :
La valeur de cell est : "AR1,AR8,AR12,....AR1278"
Si je tape
Avez-vous une idée ?
Merci d'avance pour votre aide.
Je souhaite sélectionner les cellules dont le contenu est égal à 1. J'ai donc créé cette macro mais la commande Range de fin renvoie une erreur.
Voici mon code :
Sub selection_cl()
Dim cell
Dim col
Dim selection
col = "AR"
For i = 8 To 1319
cell = col & i
If Range(cell).Value = "1" Then
If selection = "" Then
selection = cell
Else
selection = selection & "," & cell
End If
End If
i = i + 1
Next
guil = """"
sel = guil & selection & guil
MsgBox guil
MsgBox sel
Range(sel).Select
End Sub
La valeur de cell est : "AR1,AR8,AR12,....AR1278"
Si je tape
Range("AR8,AR12,AR1278").Select Alors la sélection fonctionne (aucune erreur).
Avez-vous une idée ?
Merci d'avance pour votre aide.
A voir également:
- Excel, sélection par macro sur critère
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment trier par ordre alphabétique sur excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment calculer la moyenne sur excel - Guide
4 réponses
je pense tout d'abord qu'il faut éviter d'utiliser comme variables des mots réservés dans VBA : cell, selection. Les remplacer par exemple, par cellule et sélection.
et pour mémo, optimisation de la procédure
--
et pour mémo, optimisation de la procédure
Sub selection_cl()
Dim cellule As Range
Dim sélection As Range
Set plage = Range("AR8:AR1319")
For Each cellule In plage.Cells
If cellule.Value = "1" Then
If sélection Is Nothing Then Set sélection = cellule Else: Set sélection = Union(sélection, cellule)
End If
Next
sélection.Select
End Sub
--
Bonjour thev,
Merci pour votre réponse.
J'ai tenté de modifier les nom des variables et j'ai corrigé quelques erreurs dans mon code mais l'erreur survient toujours...
Voici le nouveau code :
Merci pour votre réponse.
J'ai tenté de modifier les nom des variables et j'ai corrigé quelques erreurs dans mon code mais l'erreur survient toujours...
Voici le nouveau code :
Sub selection_cl()
Dim cellule
Dim colonne
Dim selection
Dim selection_fin
Dim guil
colonne = "AR"
For i = 8 To 1319
cellule = colonne & i
If Range(cellule).Value = "1" Then
selection = selection & cellule & ","
End If
If i = 1319 Then
selection = selection & cellule
End If
Next
i = i + 1
guil = """"
selection_fin = guil & selection & guil
MsgBox guil
MsgBox selection_fin
Range(selection_fin).Select
End Sub