1 réponse
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)
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!!!!