[vba] Remplacer un chiffre par une variable
Résolu/Fermé
A voir également:
- [vba] Remplacer un chiffre par une variable
- Excel trier par ordre croissant chiffre - Guide
- Remplacer disque dur par ssd - Guide
- Word remplacer un mot par un autre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
12 réponses
Utilisateur anonyme
8 avril 2010 à 10:29
8 avril 2010 à 10:29
Bravo !!! Merci à tous les deux
PS : J'avais un autre problème dans le même genre :
https://forums.commentcamarche.net/forum/affich-17270146-remplacer-par-une-variable
Merci énormément.
PS : J'avais un autre problème dans le même genre :
https://forums.commentcamarche.net/forum/affich-17270146-remplacer-par-une-variable
Merci énormément.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 8/04/2010 à 09:38
Modifié par pijaku le 8/04/2010 à 09:38
Bonjour
Un p'tit coup de main?
Ok :
En cas d'erreur, merci de signaler exactement ce que vous dit excel et/ou VBA...
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Un p'tit coup de main?
Ok :
Dim derniereligne As Integer derniereLigne = Range("A65536").End(xlUp).Offset(1, 0).Row ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],movex!R2C2:R" + derniereligne + "C5,4,FALSE)"
En cas d'erreur, merci de signaler exactement ce que vous dit excel et/ou VBA...
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Utilisateur anonyme
8 avril 2010 à 09:42
8 avril 2010 à 09:42
Donc, ca bloque toujours, et il dit
Type incompatible
en affichant
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],movex!R2C2:R" + derniereligne + "C5,4,FALSE)"
Type incompatible
en affichant
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],movex!R2C2:R" + derniereligne + "C5,4,FALSE)"
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
8 avril 2010 à 09:50
8 avril 2010 à 09:50
Es tu sur de l'emplacement de tes "[" et "]" dans la formule? J'ai l'impression qu'il en manque quelques uns... Je n'avais pas testé ton code, juste dit comment y insérer une variable...
Donc en fait tu recherches la v aleur contenue même ligne mais 5 colonnes avant dans une matrice située feuille "movex" en 4ème colonne? C'est bien cela?
Donc en fait tu recherches la v aleur contenue même ligne mais 5 colonnes avant dans une matrice située feuille "movex" en 4ème colonne? C'est bien cela?
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],movex!R[2]C[2]:R[" + derniereligne + "]C[5],4,FALSE)"devrait fonctionner..... Sinon enregistre ta formule avec l'enregistreur de macros et remplace juste
[5000]par
[" + derniereligne + "]
Utilisateur anonyme
8 avril 2010 à 09:55
8 avril 2010 à 09:55
Justement ma formule a été faite par le moteur de macro, je cherche juste a remplacer ;)
Toujours la même erreur, voici ce que je vois dans mes cellule mainetnant
=RECHERCHEV(C2;movex!$B$2:RdernierLigneC5;4;FAUX)
Toujours la même erreur, voici ce que je vois dans mes cellule mainetnant
=RECHERCHEV(C2;movex!$B$2:RdernierLigneC5;4;FAUX)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
8 avril 2010 à 10:05
8 avril 2010 à 10:05
vérifie la syntaxe de ton code :
Dim derniereligne derniereLigne = ... "=VLOOKUP(RC[-5],movex!R[2]C[2]:R[" + dernierLigne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
8 avril 2010 à 10:13
8 avril 2010 à 10:13
Oui, c'est un ancien affichage ca, j'ai vidé les cellule et relancé, en fait, rien ne se met dans les cellules, ca bloque avant avec toujours ce même message d'erreur et j'ai bien mis le code
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],movex!R2C2:R[" + derniereligne + "]C[5],4,FALSE)"
C'est désespérant :D
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],movex!R2C2:R[" + derniereligne + "]C[5],4,FALSE)"
C'est désespérant :D
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
8 avril 2010 à 10:15
8 avril 2010 à 10:15
peut être tu pourrais placer ton fichier ici (avec cjoint ou cijoint services de dépose de fichiers) parce que là...
Utilisateur anonyme
8 avril 2010 à 10:17
8 avril 2010 à 10:17
Je ne peux malheureusement pas, j'ai des accès très restreint au Web, par contre, si tu as un mail, c'est possible.
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
8 avril 2010 à 10:23
8 avril 2010 à 10:23
Salut piep14, pikaju,
En utilisant la propriété Formula au lieu de FormulaR1C1 :
ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:R" & derniereligne & ",4,FALSE)"
En utilisant la propriété Formula au lieu de FormulaR1C1 :
ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:R" & derniereligne & ",4,FALSE)"
Utilisateur anonyme
8 avril 2010 à 11:13
8 avril 2010 à 11:13
Juste un dernier trucs, je voulais passer le tout en fonction car je l'utilise pas mal de fois
Mais j'arrive pas a retourner la valeur :s
Function derniereligne(colonne) Dim der As Integer der = Range(colonne & "65536").End(xlUp).Offset(1, 0).Row End Function
Mais j'arrive pas a retourner la valeur :s
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 8/04/2010 à 11:25
Modifié par pijaku le 8/04/2010 à 11:25
Salut Tompols au passage,
Pour l'utiliser : Insertion/Fonctions, choisir "personnalisées" et cliquer sur "derniereligne"...
EDIT : J'oubliais... l'argument doit être saisit comme cela : "A" avec guillemets...
Function derniereligne(colonne) derniereligne = Range(colonne & "65536").End(xlUp).Offset(1, 0).Row End Function
Pour l'utiliser : Insertion/Fonctions, choisir "personnalisées" et cliquer sur "derniereligne"...
EDIT : J'oubliais... l'argument doit être saisit comme cela : "A" avec guillemets...
Utilisateur anonyme
8 avril 2010 à 11:24
8 avril 2010 à 11:24
Je voulais l'appeler comme ca
derligne = derniereligne("A")
MsgBox derligne
ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:E" & derligne & ",4,FALSE)"
C'est pas jouable ?
Désolé, je suis plus spécialiste en développement WEB :D
derligne = derniereligne("A")
MsgBox derligne
ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:E" & derligne & ",4,FALSE)"
C'est pas jouable ?
Désolé, je suis plus spécialiste en développement WEB :D
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
8 avril 2010 à 11:32
8 avril 2010 à 11:32
Pardon, je pensais que tu voulais appeler une fonction personnalisée depuis ta feuille...
Ahhh un bon café et :
Ahhh un bon café et :
Dim dern As Integer Function der(colonne) dern = Range(colonne & "65536").End(xlUp).Row End Function Sub recherch() Call der("A") MsgBox dern ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:E" & dern & ",4,FALSE)" End Sub
Utilisateur anonyme
8 avril 2010 à 11:37
8 avril 2010 à 11:37
Sub bttn5_Click() Range("H2").Select Call derniereligne("A") MsgBox der ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:E" & der & ",4,FALSE)" End Sub Function derniereligne(colonne) Dim der As Integer der = Range(colonne & "65536").End(xlUp).Offset(1, 0).Row End Function
Mon message d'alerte est vide :s
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
8 avril 2010 à 11:40
8 avril 2010 à 11:40
Re,
Utiliser de variable pour stocker le resultat d'une fonction n'est pas recommandé (Cf déclaration et portée des variables)
essaie plutot comme ceci :
Utiliser de variable pour stocker le resultat d'une fonction n'est pas recommandé (Cf déclaration et portée des variables)
essaie plutot comme ceci :
Sub bttn5_Click() Range("H2").Select MsgBox derniereligne("A") ActiveCell.Formula = "=VLOOKUP(C2,movex!B2:E" & der & ",4,FALSE)" End Sub Function derniereligne(colonne) Dim der As Integer derniereligne = Range(colonne & "65536").End(xlUp).Offset(1, 0).Row End Function
8 avril 2010 à 10:54
https://forums.commentcamarche.net/forum/affich-17270146-remplacer-par-une-variable#2