A voir également:
- Besoin d'aide vba
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Autofill vba ✓ - Forum Excel
1 réponse
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
12 oct. 2009 à 21:01
12 oct. 2009 à 21:01
Bonjour,
Voilà 2 exemples pour copier les cellules contenant un chiffre, de la colonne A de la feuille 1 vers la colonne A de la feuille 2.
J'ai mis ça dans ma colonne A :
La première méthode = On connait la plage à parcourir
La deuxième méthode = On ne connait pas la plage
;o)
Voilà 2 exemples pour copier les cellules contenant un chiffre, de la colonne A de la feuille 1 vers la colonne A de la feuille 2.
J'ai mis ça dans ma colonne A :
1 - Toto 2 - 2 3 - titi 4 - 65 5 - maman 6 - papa 7 - 3 8 - 8 9 - toi 10 - moi 11 - 8 12 - moi 13 - 2
La première méthode = On connait la plage à parcourir
La deuxième méthode = On ne connait pas la plage
Sub tri1() '(si on connait la plage à parcourir) Dim wk1 As Worksheet 'pour ma feuille 1 Dim wk2 As Worksheet 'pour ma feuille 2 Dim plage1 As Range 'plage de recherche de la feuille 1 Dim lig2 As Long 'compteur de ligne feuille 2 Dim cl 'La cellue testée 'Je déclare mes objets worksheet Set wk1 = Worksheets(1) Set wk2 = Worksheets(2) 'Je déclare ma plage de recherche A1:A100 par exemple Set plage1 = wk1.Range("A1:A100") 'J'initialise ma 1ère ligne pour recopier les cellules numériques lig2 = 1 'Je parcours la plage For Each cl In plage1 If IsNumeric(cl.Value) Then wk2.Range("A" & lig2).Value = cl.Value lig2 = lig2 + 1 End If Next cl End Sub Sub tri2() '(si on ne connait plage la plage à parcourir) Dim wk1 As Worksheet 'pour ma feuille 1 Dim wk2 As Worksheet 'pour ma feuille 2 Dim lig1 As Long 'compteur de ligne feuille 1 Dim lig2 As Long 'compteur de ligne feuille 2 'Je déclare mes objets worksheet Set wk1 = Worksheets(1) Set wk2 = Worksheets(2) 'J'initialise mes lignes lig1 = 1 lig2 = 1 'Je parcours la colonne A While wk1.Range("A" & lig1).Value <> "" 'si la valeur est numérique If IsNumeric(wk1.Range("A" & lig1).Value) Then wk1.Range("A" & lig1).Value = wk2.Range("A" & lig2).Value lig2 = lig2 + 1 End If 'Ligne suivante lig1 = lig1 + 1 Wend End Sub
;o)
13 oct. 2009 à 09:08
J'ai une autre question pour un boss comme toi :-)
J'ai pris cette formule
Sub tri1()
Dim wk1 As Worksheet
Dim wk2 As Worksheet
Dim plage1 As Range
Dim lig2 As Long
Dim cl
Set wk1 = Worksheets(1)
Set wk2 = Worksheets(2)
Set plage1 = wk1.Range("A1:A100")
lig2 = 1
For Each cl In plage1
wk1.Range("B" & lig2).Value = cl.Value
lig2 = lig2 + 1
Next cl
End Sub
Est-il possible d'avoir une msgbox demandant la plage de recopie souhaitée ex: A:15 à A:25 et effectué un collage spécial tel que valeurs tranposé dans un tableau feuille 2 par example???
Des choses bien pratiques pour compléter mes graphiques......
La c'est pour une plage et aprés si je veux une autre plage il faut que je mette la meme formule à la suite? j'ai 4 plage différente qui vont bien sur à des endroit différents sur mon graphique, ce qui éviterai d'effectuer ces opérations manuellement et donc éviter les erreurs,mzertci d'avance!!!!