Aide vba coller la cellule sur une cellule au dessus
Dernière réponse : dans Programmation
Bonjour,
je suis novice en VBA et je bloque à cause d'un petit problème mais qui a tout de même son importance.
je copie une cellule seulement si la cellule à coté n'est pas égale à 0. Pour ça j'ai trouvé le code qui fonctionne correctement.
Seulement la copie se fait sur la même ligne (à quelques colonnes de décalage) et moi je voudrais que la cellule soit copiée quelques lignes plus haut, admettons à partir de la ligne n°3.
Donc la prochaine cellule ne comportant pas de 0 à sa cellule de droite sera copiée à la ligne n°4; et ainsi de suite...
j'espère avoir été suffisamment claire!
Merci pour votre aide.
je suis novice en VBA et je bloque à cause d'un petit problème mais qui a tout de même son importance.
je copie une cellule seulement si la cellule à coté n'est pas égale à 0. Pour ça j'ai trouvé le code qui fonctionne correctement.
Seulement la copie se fait sur la même ligne (à quelques colonnes de décalage) et moi je voudrais que la cellule soit copiée quelques lignes plus haut, admettons à partir de la ligne n°3.
Donc la prochaine cellule ne comportant pas de 0 à sa cellule de droite sera copiée à la ligne n°4; et ainsi de suite...
j'espère avoir été suffisamment claire!
Merci pour votre aide.
Autres pages sur : aide vba coller cellule cellule
Lassé par la pub ? Créez un compte
Merci pour ta réponse si rapide.
Voici mon code, tout fonctionne jusqu'à la ligne " Range("C1").End(xlDown).Row 1" normalement c'est Row+1 mais le "+" se supprime dès que je lance la macro. Je pense que je n'utilise pas le bon code pour cette ligne.
Voici mon code, tout fonctionne jusqu'à la ligne " Range("C1").End(xlDown).Row 1" normalement c'est Row+1 mais le "+" se supprime dès que je lance la macro. Je pense que je n'utilise pas le bon code pour cette ligne.
Sub ligne_suivante() Sheets("Feuil2").Select Range("B1").Select Do While ActiveCell = "0" ActiveCell.Offset(1, 0).Select Do While ActiveCell <> "0" ActiveCell.Offset(0, -1).Select Selection.Copy Range("C1").End(xlDown).Row 1 ActiveSheet.Paste ActiveCell.Offset(1, -3).Select If ActiveCell = Empty Then Exit Do Exit Do End If Loop Loop End Sub
Tout d'abord, deux petits points: l'utilisation des balises "code" rend le post plus lisible et tu peux éditer ton post.
Sinon, je pense qu'il y a effectivement une erreur dans ton code. Qu'essayes-tu de sélectionner (ou de faire) avec "Range("C1" ).End(xlDown).Row 1" ?
Range("C1").End(xlDown).Select sélectionne toute la colonne C, il faut donc que tu définisse exactement ce que tu veux faire à ce niveau de ton code.
Sinon, je pense qu'il y a effectivement une erreur dans ton code. Qu'essayes-tu de sélectionner (ou de faire) avec "Range("C1" ).End(xlDown).Row 1" ?
Range("C1").End(xlDown).Select sélectionne toute la colonne C, il faut donc que tu définisse exactement ce que tu veux faire à ce niveau de ton code.
je te donne un exemple:
A ce niveau du code je veux coller la donnée de la cellule A3 (par rapport à l'exemple) à C1. Je pourrai utiliser activecell.offset... mais le problème est que comme il ne faut pas copier A5 mais A6 il va me le coller en C4 et non en C3. Je souhaiterai que les lignes copiées se mettent les unes à la suite des autres:
Résultat que je souhaiterai avoir:
(je n'ai pas mis de code pour faire la colonne 4, j'utiliserai une recherchev)
toto 0 tata 2
titi 0 tutu 4
tata 2 lolo 5
tutu 4 lili 3
tyty 0
lolo 5
lulu 0
lili 3
Stade auquel je suis arrivée:
toto 0
titi 0
tata 2 tata 2
tutu 4 tutu 4
tyty 0
lolo 5 lolo 5
lulu 0
lili 3 lili 3
Avec ActiveCell.Offset j'aurai:
toto 0 tata 2
titi 0 tutu 4
tata 2
tutu 4 lolo 5
tyty 0
lolo 5 lili 3
lulu 0
lili 3
Il va sauter une ligne à chaque fois qu'il croisera un 0.
J'espère t'avoir éclairé.
A ce niveau du code je veux coller la donnée de la cellule A3 (par rapport à l'exemple) à C1. Je pourrai utiliser activecell.offset... mais le problème est que comme il ne faut pas copier A5 mais A6 il va me le coller en C4 et non en C3. Je souhaiterai que les lignes copiées se mettent les unes à la suite des autres:
Résultat que je souhaiterai avoir:
(je n'ai pas mis de code pour faire la colonne 4, j'utiliserai une recherchev)
toto 0 tata 2
titi 0 tutu 4
tata 2 lolo 5
tutu 4 lili 3
tyty 0
lolo 5
lulu 0
lili 3
Stade auquel je suis arrivée:
toto 0
titi 0
tata 2 tata 2
tutu 4 tutu 4
tyty 0
lolo 5 lolo 5
lulu 0
lili 3 lili 3
Avec ActiveCell.Offset j'aurai:
toto 0 tata 2
titi 0 tutu 4
tata 2
tutu 4 lolo 5
tyty 0
lolo 5 lili 3
lulu 0
lili 3
Il va sauter une ligne à chaque fois qu'il croisera un 0.
J'espère t'avoir éclairé.
Merci pour tes conseils.
la petite sub peut s'intégrer directement dans la grande ou il faut que je la créée à coté pour l'appeler après dans la grande?
autrement dit peut-on faire:
sub...()
....
....
sub...()
....
....
End Sub
End Sub
ou faut-il que je fasse
sub 1()
...
End Sub
sub 2()
...
(code qui appelle sub1()) -> si cela existe, lequel?
...
End Sub
la petite sub peut s'intégrer directement dans la grande ou il faut que je la créée à coté pour l'appeler après dans la grande?
autrement dit peut-on faire:
sub...()
....
....
sub...()
....
....
End Sub
End Sub
ou faut-il que je fasse
sub 1()
...
End Sub
sub 2()
...
(code qui appelle sub1()) -> si cela existe, lequel?
...
End Sub
Crée là à côté, sinon il n'y a aucun intérêt à faire une sub supplémentaire
Et pour appeler une sub (appelons la "premierVide"), c'est :
(C est le nom de la colonne où il faut chercher).
Et ta sub premierVide est de la forme:
Et pour appeler une sub (appelons la "premierVide"), c'est :
ligne = premierVide("C");
(C est le nom de la colonne où il faut chercher).
Et ta sub premierVide est de la forme:
sub premierVide(col as String)
...
premierVide = ...
End Sub
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumVba copier coller cellule
- ForumCopier coller une cellule vba
- articlesCopier coller cellule vba excel
- ForumCopier coller cellule excel vba
- ForumCopier coller cellule vba
- ForumVba excel copier coller cellule
- solutionsExcel coller dans cellule avec formule
- ForumAide vba lien userform-cellule excel
- ForumCopier coller cellule excel
- solutionsVba coller un contenu dans une cellule
- Voir plus