begin process at 2012 02 14 20:14:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

pb de syntaxe pour des liens de cellules (important!!)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb de syntaxe pour des liens de cellules (important!!)

mercredi 1 juillet 2009 à 12:52:06 | pb de syntaxe pour des liens de cellules (important!!)

DaziooM07

Bonjour à tous,
J'expose rapidement mon problème.
J'aimerais mettre une formule dans ma cellule active par exemple "= B13 + J13"
Cependant, dans ma situation, je ne suis pas censé connaitre la valeur de la ligne.
Je sais où se situe mes deux cellules(dans l'exemple B13 et J13) par rapport à ma cellule active en fonction d'une variable que j'ai noté "nb"
Voici le code que j'ai écrit :

ActiveCell.FormulaR1C1 = "=R" & -nb - 2 & "C[1] - R" & -nb - 2 & "C[7]"

Je sais que ma formule marche parfaitement quand j'écris:

ActiveCell.FormulaR1C1 = "=R[-7]C[1] - R[-7]C[7]"

Cependant cela ne marche que pour un exemple....
Je précise que je souhaite avoir la différence "en temps réels" lorsque je modifierai les valeurs des deux cellules ( dans l'exemple B13 et J13)
En conclusion, je coince et je n'arrive pas à repérer l'erreur( car je suis novice en la matière :D) et une aide ne serait pas superflu , j'espère que j'ai été clair et vous remercie par avance de vos réponses.
mercredi 1 juillet 2009 à 14:36:57 | Re : pb de syntaxe pour des liens de cellules (important!!)

bigfish_le vrai

Membre Club
Salut,

comprend rien !!!

pour commence sache que formulaR1C1 peut etre remplace par formula, ce qui simplifi beaucoup la lecture et l'ecriture de la formule:

ActiveCell.Formula= "=B13+J13"

maintenant si tu veux integrer une variable a ta formule:

Dim nb As Long
nb =13
ActiveCell.Formula= "=B" & nb & "+J" & nb

maintenant si tu voulais integrer une variable pour la ligne et une variable pour la deuxieme colonne :

Dim Ligne As Long, Colonne As Long
Ligne =13
Colonne=10
ActiveCell.Formula= "=B" & Ligne & "+" & Cells(Ligne,Colonne).address(False,False) 'ici la propriété Cells associée à la propriété Address rencvera J13

De plus, si ton objectif est de faire une adition du contenu de 2 Cellules en VBA il existe une methode plus simple:

ActiveCell.Value= Range("B13").Value+Range("J13").Value

ou bien :

Dim Ligne As Long
Ligne =13
ActiveCell.Value= Range("B" & Ligne).Value+Range("J" & Ligne).Value

ou bien encore :

Dim Ligne As Long, Colonne As Long
Ligne =13
Colonne=3
ActiveCell.Value= Cells(Ligne,Colonne).Value+Cells(Ligne,Colonne + 7).Value

Enfin, evite d'utilisé ActiveCell surtout si tu connais la cellule qui doit recevoir le resultat. Par exemple:

Range("A1").Value= Range("B13").Value+Range("J13").Value

Voila il y aurai de quoi en ecrire 10 pages mais je m'arrete la


mercredi 1 juillet 2009 à 15:18:27 | Re : pb de syntaxe pour des liens de cellules (important!!)

DaziooM07

Désolé de ne pas avoir été clair, je vais essayé de m'expliquer
Voici la situation
Je suis sur une cellule active, et je sais que les deux cases que je souhaite soustraire sont :
- pour la première à (nb +2) au dessus de ma cellule active  et sur la colonne D
-pour la deuxième à (nb+2) au dessus de ma cellule active et colonne J

ps : Si ça peut aider je sais que ma cellule active se trouve sur la colonne C

donc, sur ma cellule active je souhaite avoir "= Dx -Jx"
où x représente la ligne se situant à nb+2 au dessus de ma cellule active.
Voilà c'est assez compliqué à expliquez, j'espère avoir été un peu plus clair
En tout cas merci, de m'avoir répondu si vite et j'espère que vous pourrez m'aider.

mercredi 1 juillet 2009 à 15:30:15 | Re : pb de syntaxe pour des liens de cellules (important!!)

bigfish_le vrai

Membre Club
je t'ai deja repondu, essai de comprendre


mercredi 1 juillet 2009 à 16:03:28 | Re : pb de syntaxe pour des liens de cellules (important!!)

DaziooM07

Je dois  surement être borné, mais bon je veux vraiment maitrisé ce sujet.
Il me semble que toute les propositions que tu m'a faites ne réponde pas à ma demande("Je me trompe surement.."), mais d'après ce que j'ai compris pour les méthodes que tu m'as données, il faut :

- soit la valeur précise de la case( ex "J13")

- soit la valeur de la ligne en fonction d'une variable(ex nb=13 ->ligne =13)
Je synthétise grossièrement, je l'admet  !!

Malheureusement je n'ai ni l'un ni l'autre, j'ai uniquement la position de la cellule en fonction de ma cellule active et d'une variable nb.
Pour l'illustrer, plus simplement je donne l'exemple:
La ligne des deux cellules à soustraire = "La ligne de ma cellule active" -2- nb
et les colonnes sont connues, c'est D et J.
Je suis désolé d'être obstiné(peut être dans mon erreur), mais j'ai besoin d'une lumière qui éclaircisse mes pensée !! Merci encore!!

mercredi 1 juillet 2009 à 16:34:52 | Re : pb de syntaxe pour des liens de cellules (important!!)

bigfish_le vrai

Membre Club
Réponse acceptée !
ok !

alors voici quelques infos supplementaire:

ActiveCell.Row 'renvoi le numero de ligne de la cellule active

ActiveCell.Column 'renvoi le numero de colonne de la cellule active

donc au lieu de faire

Dim Ligne As Long, Colonne As Long
Ligne =13
Colonne=3

tu fais ?...

Dim Ligne As Long, Colonne As Long
Ligne =ActiveCell.Row
Colonne=ActiveCell.Column

en suite y plus qu'a ajouter ou a soustraire le decalage aux variables Ligne et Colonne au moment ou tu l'ais utilise

interesse toi aussi a la propriété Offset. Voici un exemple qui n'a rien a voir avec ce que tu veux:

'cette exemple prend la valeur de la cellule a gauche de la cellule active, lui ajoute 5 et met le resultat en A1
Range("A1").Value = ActiveCell.Offset(0,-1).Value + 5 'ici on ce decale d'une colonne vers la gauche

Note que pour plus d'info il suffit de placer le cursseur sur la commande ou la propriété ou autre et d'enfoncer(gentillement^^) la touche F1


mercredi 1 juillet 2009 à 16:36:58 | Re : pb de syntaxe pour des liens de cellules (important!!)

bigfish_le vrai

Membre Club
ouuuuuups ! tu les utilises 
mercredi 1 juillet 2009 à 16:55:59 | Re : pb de syntaxe pour des liens de cellules (important!!)

DaziooM07

Merci Merci Merci!!Tu m'a sauvé la vie !!J'ai testé ça marche!!
Je n'avais absolument pas pensé à me ramener à des lignes fixes!
J'avoue ma devise s'est pourquoi faire simple quand on peux faire compliqué
Merci beaucoup pour la rapidité des messages et la patience que tu a eu à mon égard .
A Bientôt!!


Cette discussion est classée dans : exemple, nb, cellules, b13, j13


Répondre à ce message

Sujets en rapport avec ce message

Datagrid 1 [ par MSI ] Bonjour,Soit un Datagrid dans la fenêtre de mon application.Je voudrais que lorsque je clique dans une cellule s'inscrive ets'enregistre un caractère, svp ca serait bien cool de m'aider [ par jack bauer 57070 ] Salut   Voila ma question : Dans une colonne, par exemple la «  A » j’ai un certain nombre de lignes remplies de valeurs, environ 10000 Dans une autr Lie une document Word avec un document Excel [ par Guizmo84 ] Salut,Je suis actuellement en train de rediger un rapport WORD ou j'ai besoin d'utiliser des valeurs venant d'un document EXCEL. A titre d'exemple:<p copier un fichier dans un repertoire [ par yabpat ] Sltje souhaite copier un fichier (par exemple exemple.doc) dans un repertoire specifié.merciDieu vous garde remplir un formulaire excel avec cellules fusionnees avec la commande "loop" [ par terenez29 ] Bonjour, Je suis débutante en VB et je souhaite remplir un formulaire vertical excel à partir des données d'une requête ACCESS. Dans ce formulaire il Excel calcul du nombre de cellules fusionnées pour une cellule [ par Brakeos ] Bonjour,A partir d'un des logiciels de mon entreprise j'extrait un planning des congés payés au format XLS. Dans celui-ci les congès payés sont représ Source Grid rowspan après création cellule [ par caroleprevot ] Bonjour, J'ai créé un source grid pour faire un planning de rendez-vous. Pour la création tout est OK. Par contre pour la prise de rendez-vous, je s


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales