Coller une Plage
jijudu
Messages postés
215
Statut
Membre
-
jijudu Messages postés 215 Statut Membre -
jijudu Messages postés 215 Statut Membre -
Salut tout le monde,
Je souhaite copier une plage que je définie
Je ne sais pas comment m'y prendre pour coller la plage à partir de la cellule Cells(1,13)
Je pense qu'il faut utiliser un Offset mais j'ai trés bien comprit son utilisation..
Merci !!
Je souhaite copier une plage que je définie
Sub plage() Dim ligne_debut as integer Dim ligne_fin as integer Dim tableau as double Dim plage As Range Set plage = Cells(ligne_debut, 2) TO Cells(ligne_fin, 9) 'Cette ligne n'est pas correct niveau langage !! Cells(1, 13).Select For each Cellule of plage ..... End Sub
Je ne sais pas comment m'y prendre pour coller la plage à partir de la cellule Cells(1,13)
Je pense qu'il faut utiliser un Offset mais j'ai trés bien comprit son utilisation..
Merci !!
A voir également:
- Coller une Plage
- Historique copier coller - Guide
- Arobase copier coller - Forum Clavier
- Dessin sms copier coller zizi ✓ - Forum Réseaux sociaux
- Comment faire une arobase - Forum Clavier
- Copier coller pdf - Guide
8 réponses
Ouh la la ! tu te compliques la vie !
il suffit de sélectionner la cellule de destination et de coller, tout simplement.
il suffit de sélectionner la cellule de destination et de coller, tout simplement.
Range(cells(ligne_debut, 2), cells(ligne_fin, 9)).Copy cells(1, 13).Select ActiveSheet.Paste Application.CutCopyMode = False
Slt Ivan-hoe, j'ai essayé ta macro elle fonctionne parfaitement mais en faite le contenue de mes cellules elles sont bizarres. Je fait donc appel à une fonction "ExtraireNbrformat" pour pouvoir avoir le bon format des futurs cellules... enfin c'est bizarre..
Voilà le reste, pour le collage, ne me vient pas à l'esprit ^^
je ne sais coment y parvenir..
merci pour l'aide !!
+
Sub marche() Dim plage As Range Dim cellule As Range Dim ligne_debut As Integer Dim ligne_fin As Integer ligne_debut = 4 ligne_fin = 7 plage = Range(ExtraireNbrformat(Cells(ligne_debut, 4), ExtraireNbrformat(Cells(ligne_fin, 9)) For each cellule of plage .... End Sub
Voilà le reste, pour le collage, ne me vient pas à l'esprit ^^
je ne sais coment y parvenir..
merci pour l'aide !!
+
J'ai essayé ce code
Mais l'a compil. à échoué comme quoi : "la méthode 'range' ou '_Global' a échoué"
Cette ligne > Range(ExtraireNbrformat(Cells(ligne_debut, 4)), ExtraireNbrformat(Cells(ligne_fin, 9))).Copy
ne fonctionne donc pas ...
Sub marche() Dim plage As Range Dim cellule As Range Dim ligne_debut As Integer Dim ligne_fin As Integer ligne_debut = 4 ligne_fin = 7 Range(ExtraireNbrformat(Cells(ligne_debut, 4)), ExtraireNbrformat(Cells(ligne_fin, 9))).Copy Cells(1, 13).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
Mais l'a compil. à échoué comme quoi : "la méthode 'range' ou '_Global' a échoué"
Cette ligne > Range(ExtraireNbrformat(Cells(ligne_debut, 4)), ExtraireNbrformat(Cells(ligne_fin, 9))).Copy
ne fonctionne donc pas ...
Bonjour,
Voila j'ai mi les valeurs dans un tableau mais la suite, coller toutes les valeurs à partir de la Cells(1, 13) je ne sait comment faire
Merci !!!!
Sub marche()
Dim plage As Range
Dim cellule As Range
Dim Table() As Double
Dim ligne_debut As Integer
Dim ligne_fin As Integer
Dim ae As Double, op As Double
ligne_debut = 6
ligne_fin = 77
ReDim Table(ligne_fin - ligne_debut)
For ae = ligne_debut To ligne_fin
Table(op) = ExtraireNbrformat(Cells(ligne_debut, 9))
op = op + 1
Next z
Cells(1, 13).Select
......
End Sub
Voila j'ai mi les valeurs dans un tableau mais la suite, coller toutes les valeurs à partir de la Cells(1, 13) je ne sait comment faire
Merci !!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hmmm non dans ce code il n'y a que les valeurs de la colonne 9, mais pas les valeurs des autres colonnes.
Aurait-tu une solution pour ceux ci ou faut il créer autant de tableau qu'il n'y a de colonne.???
Aurait-tu une solution pour ceux ci ou faut il créer autant de tableau qu'il n'y a de colonne.???
Salut,
en fait, je ne saisis pas bien ce que tu cherches à faire ; du coup, je sèche un peu pour te tépondre.
Tu veux affecter à une variable tableau toutes les valeurs d'une plage de cellules (préalablement passées par la moulinette ExtraireNbrFormat), et ensuite "recracher" ces valeurs à-partir de la cellule M1 ? C'est bien ça ?
Quant à ta question sur le tableau : pas nécessaire de créer autant de tableaux que de colonnes, puisque tu peux créer un tableau à 2 dimensions et l'alimenter avec 2 boucles imbriquées
A partir de ton exemple :
Après, pour restituer ces valeurs, tu fais à nouveau une double-boucle :
Je comprends maintenant pourquoi tu voulais utiliser .offset.
Range("A1").Offset(x,y) décale A1 de x lignes et y colonnes.
Ce ne sont que des exemples, je n'ai rien testé, à toi d'adapter à ton cas.
Bon courage.
en fait, je ne saisis pas bien ce que tu cherches à faire ; du coup, je sèche un peu pour te tépondre.
Tu veux affecter à une variable tableau toutes les valeurs d'une plage de cellules (préalablement passées par la moulinette ExtraireNbrFormat), et ensuite "recracher" ces valeurs à-partir de la cellule M1 ? C'est bien ça ?
Quant à ta question sur le tableau : pas nécessaire de créer autant de tableaux que de colonnes, puisque tu peux créer un tableau à 2 dimensions et l'alimenter avec 2 boucles imbriquées
A partir de ton exemple :
ReDim Table(nombredelignes, nombredecolonnes)
For ae = ligne_debut To ligne_fin
For aebis = colonne_debut To colonne_fin
Table(op, opbis) = ExtraireNbrformat(Cells(ae, aebis))
Next aebis
Next ae
Après, pour restituer ces valeurs, tu fais à nouveau une double-boucle :
For x = 0 To UBound(Table, 1)
For y = 0 To UBound(Table, 2)
Cells(1, 13).Offset(x, y).value = Table(x, y)
Next y
Next x
Je comprends maintenant pourquoi tu voulais utiliser .offset.
Range("A1").Offset(x,y) décale A1 de x lignes et y colonnes.
Ce ne sont que des exemples, je n'ai rien testé, à toi d'adapter à ton cas.
Bon courage.
bon voila la macro mais juste pour 1 colonne
Comme j'ai 3 colone il me faudrai 3 fois ce code avec qqmodif...
Jtrouve que ca va etre lourd...
Si qq c'est pour simplifier dite le moi. Merci
ca sera sympa ^^
++
Sub marche()
'Dim plage As Range
'Dim cellule As Range
Dim n_ligne_fin_data As Integer
Dim n_ligne_debut_data As Integer
Dim ae As Double, op As Double
n_ligne_debut_data = 6
n_ligne_fin_data = 10
Dim Table() As Double
ReDim Table(n_ligne_fin_data - n_ligne_debut_data)
For ae = n_ligne_debut_data To n_ligne_fin_data
Table(op) = ExtraireNbrformat(Cells(ae, 4))
op = op + 1
Next ae
MsgBox Table(0)
Dim boucle As Integer, coller As Integer
coller = 1
For boucle = LBound(Table) To UBound(Table)
Cells(coller, 13).Value = Table(boucle)
coller = coller + 1
Next boucle
End Sub
Comme j'ai 3 colone il me faudrai 3 fois ce code avec qqmodif...
Jtrouve que ca va etre lourd...
Si qq c'est pour simplifier dite le moi. Merci
ca sera sympa ^^
++