Visual basic appliqmacro à toute une feuille
Fermé
jéjéhand
-
22 juil. 2011 à 16:07
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 25 juil. 2011 à 19:13
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 25 juil. 2011 à 19:13
A voir également:
- Visual basic appliqmacro à toute une feuille
- Visual basic - Télécharger - Langages
- Microsoft 365 basic - Accueil - Microsoft Office
- Microsoft visual c++ runtime - Guide
- Visual petanque - Télécharger - Sport
- Visual paradigm - Télécharger - Gestion de données
2 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
25 juil. 2011 à 14:56
25 juil. 2011 à 14:56
bonjour,
de cette manière :
Sub MAJSAISIE Macro()
ActiveCell.FormulaR1C1 = _
"=IF(RC4<>"""",VLOOKUP(RC4,CONSTANTE!R8C1:R534C13,2,FALSE),"""")"
Range("E4").Select
selection.copy
range(cells(4,4),cells(60000,4)).select
activesheet.paste
Range("E4").Select
End Sub
de cette manière :
Sub MAJSAISIE Macro()
ActiveCell.FormulaR1C1 = _
"=IF(RC4<>"""",VLOOKUP(RC4,CONSTANTE!R8C1:R534C13,2,FALSE),"""")"
Range("E4").Select
selection.copy
range(cells(4,4),cells(60000,4)).select
activesheet.paste
Range("E4").Select
End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 26/07/2011 à 08:24
Modifié par michel_m le 26/07/2011 à 08:24
Bonjour
pourquoi écrire une formule ? est ce la valeur que tu recherches sous condition?
sinon pour recopier une formule pas la peine d'utiliser VBA....
dans quelle colonne veux tu les valeurs extraites
en attendant proposition de code avec restitution colonne F
Evite au grand maximum les select-selection et les copy paste très lents et mangeurs de mémoire
Si tu veux d'autres explications, tu dis...
Michel
pourquoi écrire une formule ? est ce la valeur que tu recherches sous condition?
sinon pour recopier une formule pas la peine d'utiliser VBA....
dans quelle colonne veux tu les valeurs extraites
en attendant proposition de code avec restitution colonne F
Sub tasaisie() Dim derlig As Integer, cptr As Integer Dim dico As Object Dim ref, xxx Set dico = CreateObject("scripting.dictionary") 'on crée un couple reférence (ref), valeur cherchée (xxx) With Sheets("constante") For cptr = 8 To 31 ref = .Cells(cptr, "A") xxx = .Cells(cptr, "B").Value 'évite les doublons If Not dico.exists(ref) Then dico.Add ref, xxx Next End With Application.ScreenUpdating = False 'fige le défilement de l'écran With Sheets(1) derlig = .Range("E540").End(xlUp).Row .Range("F3:F" & 540).ClearContents 'restitution For cptr = 3 To derlig ref = .Cells(cptr, "E") 'si la reference existe If dico.exists(ref) Then .Cells(cptr, "F") = dico(ref) End If Next End With End Sub
Evite au grand maximum les select-selection et les copy paste très lents et mangeurs de mémoire
Si tu veux d'autres explications, tu dis...
Michel
25 juil. 2011 à 17:22
Sub MAJSAISIE()
ActiveCell.FormulaR1C1 = _
"=IF(RC4<>"""",VLOOKUP(RC4,CONSTANTE!R8C1:R534C13,2,FALSE),"""")"
Range("E4").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC4<>"""",VLOOKUP(RC4,CONSTANTE!R8C1:R534C13,2,FALSE),"""")"
Range("E5").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC4<>"""",VLOOKUP(RC4,CONSTANTE!R8C1:R534C13,2,FALSE),"""")"
Range("E6").Select
End sub ()
Au lieu de faire toute les lignes, j'aimerai avoir le code qui actualise les lignes de 1 à n par exemple.