Recherche de la première cellule vide

Résolu/Fermé
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015
- 1 mars 2015 à 22:19
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015
- 3 mars 2015 à 23:22
Bonjour,

Début dans les macros, j'aimerais qu'il me recherche la première cellule vide dans une colonne d'une autre feuille et lui faire inscrire une formule.

Mon problème, c'est que je fais ma macro en utilisant ctrl+flèche vers le bas +1.
cela fonction la prèmière fois mais il garde en mémoire une cellule bien définie.
Du coup quand je réutilise cette macro il me prend la même cellule et non pas la cellule première cellule vide
Sub test()
'
' test Macro
'
' Keyboard Shortcut: Ctrl+w
'
Sheets("sheets1").Select
Range("B2").Select
Selection.End(xlDown).Select
Range("B23").Select
ActiveCell.FormulaR1C1 = "=+'sheets3!R[-14]C[1]"

End Sub

Merci pour votre aide


A voir également:

12 réponses

Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
Modifié par Mike-31 le 1/03/2015 à 22:31
Bonsoir,

Si je comprends bien, tu veux dans la première cellule vide de la colonne B feuille 1 écrire une formule pour rapatrier une valeur de la feuille 3 colonne 1 mais la ligne est elle fixe ce qui est le cas dans ton code ou veux tu également la dernière valeur de la colonne ou si la cellule est fixe quel est l'adresse de cette cellule et pourquoi écrire une formule en VBA alors que tu peux rapatrier directement la valeur

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

1 mars 2015 à 22:40
Mon but est de recherche la première cellule vide (non fixe) de ma collone B de ma feuille 1 pour rapatrier la valeur qu'il y a dans la sheet 3.
par la suite je remplacerais la formule par la valeur de la cellule (copie, past value). ma sheet 3 est un formulaire que j'efface pour enter de nouvelle donner.

D'ou mon probleme que la macro reste figé sur une cellule en particulier.
0
Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
1 mars 2015 à 22:47
Re,

Oui mais quel est l'adresse de cette cellule en feuille 3 ?
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

1 mars 2015 à 22:56
La cellule est C9 (elle est fixe)
0
Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
Modifié par Mike-31 le 1/03/2015 à 23:17
Re,

écrit simplement comme cela

Sub test()
Sheets("Feuil1").[B1000].End(xlUp).Offset(1, 0) = Sheets("Feuil3").[C9]
End Sub

ou en partant du haut

Sub test()
Sheets("Feuil1").[B2].End(xlDown).Offset(1, 0) = Sheets("Feuil3").[C9]
End Sub


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

1 mars 2015 à 23:23
Sorry mais ça ne marche pas
Voilà ce que j'ai écrit
Sub test()
Sheets("Facurier vente").[B1000].End(xlUp).Offset(1, 0) = Sheets("Préparation Facture").[C9]
End Sub
message d'erreur = Can't execute code in break mode
0

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

Posez votre question
Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
2 mars 2015 à 07:12
Re,

Comment ça ne marche pas, regarde le fichier joint, il suffit de cliquer sur la forme de n'importe quelle page pour que la valeur C9 se copie à la suite sur la feuille 1

https://www.cjoint.com/?ECchwNZdl1G
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

2 mars 2015 à 22:33
Super merci beaucoup Mike-31.
Pourrais encore abuser de tes connaissances pour finaliser mon fichier?
Introduire dans cette macro de faire un copie/paste spécial value sur la ligne qui viens de rajouter? donc ce n'est plus la premier cellule vide qu'il doit trouver mais bien la dernier cellule remplie et faire un copie/paste spécial value de toute la ligne

D'avance merci.
0
Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
3 mars 2015 à 07:45
Re,

alors ta macro doit copier la cellule C9 de la feuille nommée "Préparation Facture" sur la première cellule vide de la feuille "Facurier vente"
et tu veux ajouter un code pour copier la ligne de la dernière cellule non vide, mais de quelle feuille et sur quelle feuille !
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

3 mars 2015 à 20:35
Bonsoir,

Pour être plus précise la macro que tu m'as envoyé copie la cellule C9 de la feuille "Préparation Facture" dans la premier cellule vide de la colonne B de la feuille "Facturier vente" elle fonctionne trés bien... un grand merci pour cela déjà ;-)
Je souhaiterais ajouter à la macro, qu'il fasse un copie/past spécial valeur sur toutes la ligne de la feuille "Facturier vente" ou il vient de copier la valeur de la cellule de la première partie de la macro...

Ex: si dans la premier parti de la macro, la premier cellule vide est B45 de la feuille "Facturier Vente" il me fasse un copie/coller special valeur sur tout cette ligne 45.

D'avance merci
0
Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
3 mars 2015 à 20:47
Re,

Oui mais quelle ligne veux tu copier, toute la ligne 9 de la feuille "Préparation Facture" sur la ligne ou la première macro à copié la valeur C9 de la feuille "Facturier vente"
Si c'est cela ce n'est pas possible par rapport au décalage de colonne C sur B
il faut préciser la partie de la ligne 9 de la feuille "Préparation Facture" à copier exemple de C9 à Y9 sur la feuille "Facturier vente" à partir de la colonne B par exemple
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

3 mars 2015 à 21:52
non je veux copier la ligne entier (dans mon expemple ligne 45) de ma feuille "Facturier vente", (copie/coller past valeur) dans cette même ligne 45 de ma même feuille "Facturier vente" afin de suprimer mes formules et les transformer en valeur.
0
Mike-31
Messages postés
17974
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 juin 2022
4 956
Modifié par Mike-31 le 3/03/2015 à 22:11
Re,

Au début du code tu as la première macro puis le code pour fixer tes valeurs

Sub test()
Sheets("Facurier vente").[B1000].End(xlUp).Offset(1, 0) = Sheets("Préparation Facture").[C9]
[B1000].End(xlUp).EntireRow.Copy
[B1000].End(xlUp).Offset(0, -1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
salucyvin
Messages postés
15
Date d'inscription
dimanche 1 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015

3 mars 2015 à 23:22
Un grand merci!!
0