Ecrire une macro en relatif
Résolu
conseilVBA
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
conseilVBA Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
conseilVBA Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaiterais écrire une macro qui prenne pour base la cellule excel ou j'écrirai cette macro.
Function pression(P)
If Not IsEmpty(P) Then
pression = P * Range("c4")
End If
End Function
En fait il faudrait que je remplace range c4 par un pas de 2 lignes mais je n'arrive pas à l'écrire correctement.
merci pour votre aide.
je souhaiterais écrire une macro qui prenne pour base la cellule excel ou j'écrirai cette macro.
Function pression(P)
If Not IsEmpty(P) Then
pression = P * Range("c4")
End If
End Function
En fait il faudrait que je remplace range c4 par un pas de 2 lignes mais je n'arrive pas à l'écrire correctement.
merci pour votre aide.
A voir également:
- Ecrire une macro en relatif
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Ecrire en gras sur whatsapp - Guide
- Écrire en majuscule - Guide
- Ecrire en miroir - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
3 réponses
bonsoir,
1. je ne sais pas si je comprends bien le pb, mais pour récupérer l'adresse relative d'un cellule par rapport à une autre, tu utilises Offset(ligne,colonne)
ex Range("C4").Offset(2,1) est l'adresse de D6
2. si ce n'est pas ça, il faudrait que tu précises comment tu comptes utiliser cette fonction au niveau de la feuille
par exemple si B4 = pression(???) , qui est ???
bonne suite
1. je ne sais pas si je comprends bien le pb, mais pour récupérer l'adresse relative d'un cellule par rapport à une autre, tu utilises Offset(ligne,colonne)
ex Range("C4").Offset(2,1) est l'adresse de D6
2. si ce n'est pas ça, il faudrait que tu précises comment tu comptes utiliser cette fonction au niveau de la feuille
par exemple si B4 = pression(???) , qui est ???
bonne suite
Bonjour,
Merci pour les infos!
Oui c'est à peu près ce que je veux faire mis à part que j'aimerai ne pas intégrer de nom de cellule dans ma macro et que la cellule de référence soit celle ou j'écris la fonction dans excel...mais je ne sais pas si c'est possible!
Merci pour les infos!
Oui c'est à peu près ce que je veux faire mis à part que j'aimerai ne pas intégrer de nom de cellule dans ma macro et que la cellule de référence soit celle ou j'écris la fonction dans excel...mais je ne sais pas si c'est possible!
re
1. dans ce code de la fonction pression
p peut etre la valeur d'une cellule, mais pas de la cellule où tu utilises cette fonction (référence circulaire)
ex A4 = pression(A4) ne va pas fonctionner
par contre A4 = pression(A3) va fonctionner
2. si tu veux que le décalage se fasse par rapport à la cellule active (celle ou la formule est utilisée) voila comment il faut l'écrire
avec la même remarque qu'au 1
ex. si tu as 7 en A3 et 5 en B6
A4 = pression(A3) donnera 7*5 = 35 comme résultat
RQ. je mettrai quelque chose dans le 'sinon'
bonne suite
1. dans ce code de la fonction pression
Function pression(P) If Not IsEmpty(P) Then pression = P * Range("c4") End If End Function
p peut etre la valeur d'une cellule, mais pas de la cellule où tu utilises cette fonction (référence circulaire)
ex A4 = pression(A4) ne va pas fonctionner
par contre A4 = pression(A3) va fonctionner
2. si tu veux que le décalage se fasse par rapport à la cellule active (celle ou la formule est utilisée) voila comment il faut l'écrire
Function pression(p) If p <> "" Then pression = p * ActiveCell.Offset(2, 1) Else End If End Function
avec la même remarque qu'au 1
ex. si tu as 7 en A3 et 5 en B6
A4 = pression(A3) donnera 7*5 = 35 comme résultat
RQ. je mettrai quelque chose dans le 'sinon'
bonne suite