Excel appliquer une macro à partir d'une cell
Fermé
unpetitange
Messages postés
8
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
22 octobre 2011
-
10 sept. 2009 à 17:39
unpetitange Messages postés 8 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 22 octobre 2011 - 11 sept. 2009 à 16:56
unpetitange Messages postés 8 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 22 octobre 2011 - 11 sept. 2009 à 16:56
A voir également:
- Excel appliquer une macro à partir d'une cell
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Calculer une moyenne sur excel - Guide
6 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 750
10 sept. 2009 à 18:32
10 sept. 2009 à 18:32
bonjour,
J'ai placé les codes au milieu de vos questions en gras :
1- Le problème de cette macro c'est qu'elle prend systématiquement comme référence A178 une cellule que j'ai défini lors de l'enregistrement de cette dernière, hors je voudrais que ces ajouts automatiques se fassent à droite de la cellule où je positionne mon curseur : ActiveCell.Offset(0, 1). ou encore mieux mais pas nécessaire qu'il me fasse les ajouts de l'ID et de la date après la dernière ligne de payement : Range("A65356").End(xlUp).Offset(1, 0).Select.
2- on verra plus en profondeur après la solution au 1 mais c'est quelque chose comme :
Sheets("entreprises").Rows(1).Copy Sheets("feuille de payement").End(xlUp).Offset(1, 0)
Mais répondons déjà à votre 1er questionnement...
J'ai placé les codes au milieu de vos questions en gras :
1- Le problème de cette macro c'est qu'elle prend systématiquement comme référence A178 une cellule que j'ai défini lors de l'enregistrement de cette dernière, hors je voudrais que ces ajouts automatiques se fassent à droite de la cellule où je positionne mon curseur : ActiveCell.Offset(0, 1). ou encore mieux mais pas nécessaire qu'il me fasse les ajouts de l'ID et de la date après la dernière ligne de payement : Range("A65356").End(xlUp).Offset(1, 0).Select.
2- on verra plus en profondeur après la solution au 1 mais c'est quelque chose comme :
Sheets("entreprises").Rows(1).Copy Sheets("feuille de payement").End(xlUp).Offset(1, 0)
Mais répondons déjà à votre 1er questionnement...
unpetitange
Messages postés
8
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
22 octobre 2011
10 sept. 2009 à 18:57
10 sept. 2009 à 18:57
Merci beaucoup pour la réponse,
Je rajoute quelques clarification concernant ma macro.
En A178 sur la feuille de l'entreprise il y a la valeur suivante :
=MAX(feuillepayementgénérale!B12:B171)+1
Si je met mon curseur en A179, je voudrais que en B179 il y ait le nouvel ID qui se crée automatiquement et en C179 la date qui se rajoute automatiquement
Où dois-je placer dans ma macro ActiveCell.Offset(0, 1) ?
Merci beaucoup, Pijaku.
Je rajoute quelques clarification concernant ma macro.
En A178 sur la feuille de l'entreprise il y a la valeur suivante :
=MAX(feuillepayementgénérale!B12:B171)+1
Si je met mon curseur en A179, je voudrais que en B179 il y ait le nouvel ID qui se crée automatiquement et en C179 la date qui se rajoute automatiquement
Où dois-je placer dans ma macro ActiveCell.Offset(0, 1) ?
Merci beaucoup, Pijaku.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 750
11 sept. 2009 à 10:51
11 sept. 2009 à 10:51
Bonjour,
juste une petite précision : ton ID est calculé par la formule MAX(feuillepayementgénérale!B12:B171)+1. Comment "évolue" t'il? Le suivant est : MAX(feuillepayementgénérale!B12:B172)+1?
juste une petite précision : ton ID est calculé par la formule MAX(feuillepayementgénérale!B12:B171)+1. Comment "évolue" t'il? Le suivant est : MAX(feuillepayementgénérale!B12:B172)+1?
Mike-31
Messages postés
18335
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 septembre 2024
5 094
11 sept. 2009 à 11:26
11 sept. 2009 à 11:26
Salut tout le monde,
Sub AJOUTIDETDATE()
Sheets("Entreprise").Select
[A65356].End(xlUp).Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
End Sub
ce petit bout de code te permet de sélectionner la feuille Entreprise, rechercher la première cellule vide colonne A et d'ajouter une suite logique de numéro exemple en A1 saisis une valeur 1
Pour la suite je pense qu'il serait bien d'avoir un exemple de ton fichier sans données confidentielles, afin d'adapter le code,
à joindre avec ce lien
https://www.cjoint.com/
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Sub AJOUTIDETDATE()
Sheets("Entreprise").Select
[A65356].End(xlUp).Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
End Sub
ce petit bout de code te permet de sélectionner la feuille Entreprise, rechercher la première cellule vide colonne A et d'ajouter une suite logique de numéro exemple en A1 saisis une valeur 1
Pour la suite je pense qu'il serait bien d'avoir un exemple de ton fichier sans données confidentielles, afin d'adapter le code,
à joindre avec ce lien
https://www.cjoint.com/
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 750
11 sept. 2009 à 11:39
11 sept. 2009 à 11:39
Salut Mike-31,
J'ajouterais à ton code la date du jour en colonne C:
Sub AJOUTIDETDATE()
Sheets("Entreprise").Select
[A65356].End(xlUp).Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
ActiveCell.Offset(0, 2) = CDate(Date)
End Sub
J'ajouterais à ton code la date du jour en colonne C:
Sub AJOUTIDETDATE()
Sheets("Entreprise").Select
[A65356].End(xlUp).Offset(1, 0).Select
ActiveCell = ActiveCell.Offset(-1, 0) + 1
ActiveCell.Offset(0, 2) = CDate(Date)
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18335
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 septembre 2024
5 094
11 sept. 2009 à 11:49
11 sept. 2009 à 11:49
Salut pijaku,
Tout à fait, mais avant de ce lancer un code, il serait bon de voir la structure du fichier qui ne me semble pas claire et le code de unpetitange n'apporte rien de constructif
Attendons de voir
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Tout à fait, mais avant de ce lancer un code, il serait bon de voir la structure du fichier qui ne me semble pas claire et le code de unpetitange n'apporte rien de constructif
Attendons de voir
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
unpetitange
Messages postés
8
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
22 octobre 2011
11 sept. 2009 à 16:56
11 sept. 2009 à 16:56
Bonjour à tous, Pijaku, Mike,
Pour répondre à la première question 3 de pijaku, la matrice ou zone dans laquelle je cherche l'ID le plus élevé reste à B171 qui aurait pu être plus ou moins. je n'ai pas eu à ce jour plus de 170 payements de fournisseurs à faire sur un chantier.
Mike, si je ne cherche pas la valeur le plus petite dans une colonne mais uniquement dans un plage?
Le code n'est en effet pas clair puisque il a été créé par l'enregistrement automatique d'une macro.
Je vous envoie le fichier en fin d'après-midi.
Merci beaucoup,
Damien
Pour répondre à la première question 3 de pijaku, la matrice ou zone dans laquelle je cherche l'ID le plus élevé reste à B171 qui aurait pu être plus ou moins. je n'ai pas eu à ce jour plus de 170 payements de fournisseurs à faire sur un chantier.
Mike, si je ne cherche pas la valeur le plus petite dans une colonne mais uniquement dans un plage?
Le code n'est en effet pas clair puisque il a été créé par l'enregistrement automatique d'une macro.
Je vous envoie le fichier en fin d'après-midi.
Merci beaucoup,
Damien