Macro Excel, Selection cellules

Fermé
Doffybud Messages postés 4 Date d'inscription vendredi 10 septembre 2010 Statut Membre Dernière intervention 17 septembre 2010 - 10 sept. 2010 à 10:12
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 20 sept. 2010 à 10:04
Bonjour,

J'aimerai pouvoir lancer une macro qui selectionnerait toutes les cellules égales à 2 dans une collone donnée (en l'occurance la U).

Merci.

A voir également:

7 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 16/09/2010 à 21:06
Salut,

Explique exactement ce que tu veux faire, ou qu' attends tu par sélectionner !

colonne U si plusieurs cellules sont égale à 2 tu veux les coloriser, les copier dans une autre plage ou simplement les mettre en surbrillance et dans quel but !
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Doffybud Messages postés 4 Date d'inscription vendredi 10 septembre 2010 Statut Membre Dernière intervention 17 septembre 2010
10 sept. 2010 à 11:03
Tout d'abord,merci de ta réponse.

Oui en fait, le but est de selectionner les cellules, étendre la séléction de 5 colonnes sur la gauche, pour au final les coller en '2'!A9 (Feuille '2' en cellule A9 (mais j'pense que tu avais déja compris...:-)))
0
Doffybud Messages postés 4 Date d'inscription vendredi 10 septembre 2010 Statut Membre Dernière intervention 17 septembre 2010
16 sept. 2010 à 21:02
Personne pour m'aider..??
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
16 sept. 2010 à 21:12
Re,

Excuse, je n'avais pas vu passer ta réponse.

Une fois copier sur la feuille 2, les données de la feuille 1 seront elles effacées, parce que si tu relance le code elles seront copié à chaque fois. Pour éviter cela il est possible d'ajouter une colonne.

Dois tu recommencer la procédure et les données se mettre à la suite sur la feuille 2 ou doivent elles remplacer les données déjà copiées
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
16 sept. 2010 à 23:44
Bonsoir

Il n'est pas utile de sélectionner les cellules pour les copier.
Essaye ce code :

Private Sub Test()
Dim rng As Range
Dim cel As Range
  For Each cel In Worksheets(1).Columns("U").Cells
    If cel.Value = 2 Then
      If rng Is Nothing Then
        Set rng = cel.Offset(, -5).Resize(, 6)
      Else
        Set rng = Union(rng, cel.Offset(, -5).Resize(, 6))
      End If
    End If
  Next
  If Not rng Is Nothing Then 
    rng.Copy Destination:=Worksheets("2").Range("A9")
  End If
End Sub

Cordialement
Patrice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Doffybud Messages postés 4 Date d'inscription vendredi 10 septembre 2010 Statut Membre Dernière intervention 17 septembre 2010
17 sept. 2010 à 09:36
Merci à vous 2

Patrice c'est presque Nickel...:-)

Premièrement, j'me suis un peu planté, donc j'ai retouché un peu ton sript:

Sub Smile()
' Smile Macro
' Macro enregistrée le 17/09/2010 par gdesousa
Dim rng As Range
Dim cel As Range
For Each cel In Worksheets("Recalcul").Columns("V").Cells
If cel.Value = 2 Then
If rng Is Nothing Then
Set rng = cel.Offset(, -6).Resize(, 6)
Else
Set rng = Union(rng, cel.Offset(, -6).Resize(, 6))
End If
End If
Next
If Not rng Is Nothing Then
rng.Copy Destination:=Worksheets("2").Range("A9")

End If
End Sub


Mais j'ai un encore un petit soucis.
Les cellules Copiées étant issues de formules, lors du collage ça bug (REF#), serait-il possible de finir par un collage spécial 'valeurs'..?

Nota: Une chose étrange, lorsque les lignes copiées ne sont pas successives, ça marche nickel... (°õ°)

Encore merci.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
18 sept. 2010 à 00:50
Bonsoir,

Pour faire un collage spéciale, remplace la ligne :

rng.Copy Destination:=Worksheets("2").Range("A9") 
par ces 3 lignes :

rng.Copy
Worksheets("2").Range("A9").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

ou par ces 4 lignes si tu veux aussi les formats:

rng.Copy
Worksheets("2").Range("A9").PasteSpecial Paste:=xlPasteFormats
Worksheets("2").Range("A9").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

Cordialement
Patrice
0
Et bien c'est parfait...... Un Grand merci à vous.

Et à bientôt...^^
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
20 sept. 2010 à 10:04
De rien, au plaisir.
0