Upload
lebete
View
117
Download
10
Embed Size (px)
Citation preview
5/28/2018 Gestion Des Cellules VBA
1/61
Gestion des cellules
Accueil
Definir un champPositionner le curseurCellule ActiveDplacer le curseurMasquer la Maj de l'cranSlectionner la rgion couranteRedefinir la taille d'un champSlectionner des cellules
particulires
Selectionner la zone utilise dans lafeuilleUnion et intersection de champsRechercher une information(Find)Derniere ligne d'un champRecherche de date(Find)Find AccentRecherche dans tout le classeurRemplacer uneinformation(Replace)Remplacer VRAI FAUX
Nommer les champs par VBAFusion de cellulesChamps Multi Zones
-RAZ des cellules de la couleur choisie-Dcaler les mois-Supprimer lignes qui existent dj-Copier les lignes colories-Copier les lignes manquantes-Colorie les occurences d'un mot cherch-Recherche 2 critres-Diffrence entre 2 BD-Diffrence entre 2 BD multi-critres
-NettoyageFeuille-Supprimer des lignes vides-Suppression de lignes-Suppression de lignes rapide-Supprime une ligne sur 2-Supprimer des doublons-Complter un champ-Supprimer les lignes commenant par-Insre ligne avec copie formules-Masquage de lignes-Rcupration d'un champ d'un classeur
ferm-Rcupration du format des cellules
pointes-Transforme BD en tableau-Transforme Tableau en BD-Transforme fiches en BD-Transforme ligne en colonne-Transforme colonne en ligne-Transforme colonne ligne matricielle-Colonne en ligne avec 2 niveaux rupture-Trim rapide
-Slection 1 Ligne sur 2-Editeur couleur-Liste des feuilles contenant un motcherch-Reprer les doublons multi-feuilles-Modification de la couleur de la slection-Curseur ligne-Curseur Ligne/Colonne-Mise en forme d'une BD
RangeCellsActiveCellScreenUpdatingCurrentRegionSelection.End
Resize
SpecialCells
UsedRange
UnionIntersectScrollAreaFindSpecialCellsUsedRangeReplace
ScrollRow
ScrollColumn
ScrollAreaMerge-Unmerge
Application.Goto
http://boisgontierjacques.free.fr/index2.htmhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Deacutefinirhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Deacutefinirhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Positionnerhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Positionnerhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CelluleActivehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CelluleActivehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Deplacercurseurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Deplacercurseurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23MasquerMajEcranhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23MasquerMajEcranhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionRegionCourantehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionRegionCourantehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RedefinirTailleChamphttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerSpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerSpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerUsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23NettoyageFeuillehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerUsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UnionIntersectionChampshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UnionIntersectionChampshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechercherFindhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechercherFindhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DerniereLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DerniereLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechercheDatehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23FindAccenthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23FindAccenthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechClasseurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechClasseurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23VRAIFAUXhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23VRAIFAUXhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Nommer%2520les%2520champs%2520par%2520VBAhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Nommer%2520les%2520champs%2520par%2520VBAhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Fusionnerhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ChampsMultiZoneshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RAZhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RAZhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23decalemoishttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23decalemoishttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimerLigneshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopierLignesCouleurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopiedelignesManquanteshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopiedelignesManquanteshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColorieMothttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColorieMothttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopiedelignesManquanteshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Difference2fichiershttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ComparaisonMultiCrithttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23NettoyageFeuillehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23NettoyageFeuillehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Suppressionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Suppressionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupLignes2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupLignes2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupLignesRapidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupLignesRapidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimeUneLigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimeUneLigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Suppression%2520de%2520doublonshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Suppression%2520de%2520doublonshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Compl%25E8te+un+champhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Compl%25E8te+un+champhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Compl%25E8te+un+champhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimerCommencantParhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23InsereLigneFormulehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23InsereLigneFormulehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Masquagehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Masquagehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23R%25E9cup%25E9rationhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23R%25E9cup%25E9rationhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23R%25E9cup%25E9rationhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RecupFormathttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RecupFormathttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RecupFormathttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RecupFormathttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23convbdtabhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23convbdtabhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransormeTableauBDhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransormeTableauBDhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23FichesBDhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23FichesBDhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformeLChttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformeLChttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformeCLhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformeCLhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformationFormuleMatriciellehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColonneLigne2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColonneLigne2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColonneLigne2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TrimRpidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TrimRpidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TrimRpidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Selection1LigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Selection1LigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23EditeurCouleurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23EditeurCouleurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ListeFeuillesMotCherchehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ListeFeuillesMotCherchehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ListeFeuillesMotCherchehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DoublonsMFhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DoublonsMFhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DoublonsMFhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CoulSelecthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CoulSelecthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLChttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLChttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23mefhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23mefhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Rangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Rangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CellsLigneColonnehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CellsLigneColonnehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Activecellhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Activecellhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScreenUpdatinghttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScreenUpdatinghttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurrentRegionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurrentRegionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionEndhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Resizehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Unionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Unionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Intersecthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Intersecthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollAreahttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollAreahttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Findhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Findhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Replacehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Replacehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollRowhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollRowhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollRowhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollAreahttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollAreahttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Mergehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Mergehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ApplicationGotohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ApplicationGotohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ApplicationGotohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Mergehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollAreahttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollRowhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollRowhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Replacehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Findhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScrollAreahttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Intersecthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Unionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Resizehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Resizehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionEndhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurrentRegionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurrentRegionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScreenUpdatinghttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ScreenUpdatinghttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Activecellhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Activecellhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CellsLigneColonnehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CellsLigneColonnehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Rangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Rangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23mefhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLChttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CurseurLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CoulSelecthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DoublonsMFhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ListeFeuillesMotCherchehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ListeFeuillesMotCherchehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23EditeurCouleurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Selection1LigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TrimRpidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColonneLigne2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformationFormuleMatriciellehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformeCLhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransformeLChttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23FichesBDhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23TransormeTableauBDhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23convbdtabhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RecupFormathttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RecupFormathttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23R%25E9cup%25E9rationhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23R%25E9cup%25E9rationhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Masquagehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23InsereLigneFormulehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23InsereLigneFormulehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimerCommencantParhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimerCommencantParhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Compl%25E8te+un+champhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Suppression%2520de%2520doublonshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimeUneLigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimeUneLigneSur2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupLignesRapidehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupLignes2http://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Suppressionhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23NettoyageFeuillehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ComparaisonMultiCrithttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Difference2fichiershttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Difference2fichiershttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopiedelignesManquanteshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopiedelignesManquanteshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ColorieMothttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopiedelignesManquanteshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopierLignesCouleurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CopierLignesCouleurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimerLigneshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SupprimerLigneshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23decalemoishttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RAZhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ChampsMultiZoneshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23ChampsMultiZoneshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Fusionnerhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Nommer%2520les%2520champs%2520par%2520VBAhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23VRAIFAUXhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RemplacerInfohttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechClasseurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23FindAccenthttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechercheDatehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechercheDatehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23DerniereLignehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RechercherFindhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23UnionIntersectionChampshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerUsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerUsedRangehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerSpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerSpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionnerSpecialCellshttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RedefinirTailleChamphttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23RedefinirTailleChamphttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23SelectionRegionCourantehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23MasquerMajEcranhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Deplacercurseurhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23CelluleActivehttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Positionnerhttp://c/Users/Boni/Desktop/PORTE%20DOCUMENTS/VBA%20EXCEL%20TUTOS/occurence%20d'un%20mots%20rechercher.htm%23Deacutefinirhttp://boisgontierjacques.free.fr/index2.htmhttp://boisgontierjacques.free.fr/index2.htm5/28/2018 Gestion Des Cellules VBA
2/61
Dfinir un champ
Range(champ)
Range permet de spcifier un champ.
Range("B3").SelectRange("D4,F4:G4,D116").SelectRange("D4,F4:G4,D116").Interior.ColorIndex=33
Cells(ligne,Colonne)
Cells(ligne,colonne)reprsente la cellule qui est l'intersection de ligne et de colonne.Cells(3,2) reprsente le contenu de la cellule qui est l'intersection de la 3e ligne et de la 2e colonne.
Cells(3,2).Select
Range(champ).Cells(ligne,colonne)
La ligne et la colonne sont relatives au dbut du champ spcifi dans Range
Range("B3:D6").cells(1,1).select
Cellule active
ActiveCell
La cellule active se spcifie avec ActiveCell. Sur cet exemple, la variable X prend la valeur de la cellule activa scrire en A1
x=ActiveCell.Value
Range("A1").Value=x
Positionner le curseur
Range(champ).Selectslectionne le champ spcifi
Range("B3").Select ' Slectionne la cellule B3[B3].Select ' Slectionne la cellule B3Range("B3").Offset(1,0).select ' Dplace le curseur une ligne au dessous de B3Activecell.Offset(0,1).select
Dplacer le curseur
5/28/2018 Gestion Des Cellules VBA
3/61
Activecell.Offset(nb_lignes,nb_colonnes).Select
Activecell.Offset(nb_lignes,nb_colonnes).Select dplace le curseur du nombre de lignes et de colonnesspcifis.
Range("A1").Select 'Se positionne en A1ActiveCell.Offset(0; 1).Select 'se dcale droite dune celluleActiveCell.Offset(1; 0).Select ' Se dcale en bas dune cellule
Masquer la mise jour de l'cran
Application.ScreenUpDating=True/False
Application.ScreenUpdating=Falsedsactive la mise jour de l'cran.Application.ScreenUpdating=Truela ractive.
Application.ScreenUpdating=False........Application.ScreenUpdating=True
Champ.End(xlDown-XlUp-XlToRight-XlToLeft)
champ.End(XlDown)reprsente:- la dernire cellule d'un bloc de cellulespleines dune colonne (2 minimum) en dplaant
le curseur vers le bas.
- ou la prochaine cellule pleine d'un bloc videen dplaant le curseur vers le bas.
Range("A1").End(xlDown).Select ' positionne sur A4Range("A1", [A1].End(xlDown)).Select ' slectionne A1:A4Range("A4").End(xlDown).Select ' positionne sur A7
champ.End(XlUp)reprsente:- la dernire cellule d'un bloc de cellulespleines dune colonne (2 minimum) en dplaant
le curseur vers le haut.- ou la prochaine cellule pleine d'un bloc videen dplaant le curseur vers le haut.
Range("A7").End(xlUp).Select ' slectionne A4Range("A65000").End(xlUp).Select ' slectionne A10
5/28/2018 Gestion Des Cellules VBA
4/61
champ.End(XlToRight)et champ.End(XlToLeftt)correspondent un dplacementvers la droite et vers la gauche.
Range("A1").End(xlToRight).Select ' slectionne D1
Slectionner la rgion courante
CurrentRegion
champ.CurrentRegionslectionne les cellules autour du champ spcifi.
Range("A1").CurrentRegion.Select ' slectionne les cellules autour de A1Range("A1").CurrentRegion.Resize(, 1).Select ' slectionne la premire colonne
Range("A1").currentregion.SelectSelection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select ' Sauf la premire ligne
Range("A1").CurrentRegion.PrintPreview ' AperuRange("A1").CurrentRegion.PrintOut ' Impression
Rdfinir la taille d'un champ
Resize(lignes,colonnes)
Redfinit la taille d'un champ.
Range("A1").Resize(1,4).Select ' slectionne A1:D1
Range("A1").CurrentRegion.SelectSelection.Offset(1).Resize(Selection.Rows.Count - 1).Select ' enlve la premire ligne
Slectionner les cellules particulires
Champ.SpecialCells(type,valeur)
-SpecialCellspermet de slectionner des cellules particulires. C'est l'quivalentde la commande Edition/Atteindre.
SpecialCells(xlCellTypeBlanks) Cellules vides
5/28/2018 Gestion Des Cellules VBA
5/61
Selection.SpecialCells(xlCellTypeVisible)
SpecialCells(xlCellTypeLastCell)
Cellules visiblesDernire cellule de la feuille
-Si typea la valeur xlCellTypeConstantsou xlCellTypeFormulas, valeurspcifie le type de cellules: nomtexte,valeurs logiques, erreurs.
Cells.SpecialCells(xlLastCell).Select ' Slectionne la dernire cellule de la feuilleCells.SpecialCells(xlCellTypeConstants, 1).Select ' Slectionne les cellules numriques de la feuilleCells.SpecialCells(xlCellTypeConstants, 2).Select ' Slectionne le texte de la feuilleCells.SpecialCells(xlCellTypeConstants, 23).Select ' Slectionne les constantes de la feuilleRange("A:A").SpecialCells(xlCellTypeConstants, 23).Select ' Slectionne les constantes de la colonne A
Supprimer les lignes vides en colonne A
On Error Resume NextRange("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Supprimer les cellules vides en colonne A
[A:A].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Copier les lignes non vides en colonne A sur un autre onglet
[A:A].SpecialCells(xlCellTypeConstants, 23).EntireRow.Copy Sheets(2).[A65000].End(xlUp).Offset(1, 0)
RAZ des zones dverrouilles
Sub raz()ActiveSheet.Unprotect Password:="moi"For Each c In Cells.SpecialCells(xlCellTypeConstants, 23)
If c.Locked = False Then c.Value = EmptyNext cActiveSheet.Protect Password:="moi"ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Slectionner la zone utilise d'une feuille
UsedRange
Slectionne la zone utilise dans la feuille active.
ActiveSheet.UsedRange.Select
Adresse
MsgBox ActiveSheet.UsedRange.Address
Slection de la dernire cellule
5/28/2018 Gestion Des Cellules VBA
6/61
Range(Split(ActiveSheet.UsedRange.Address, ":")(1)).Select
Union et Intersection de champs
Union(champ1,Champ2,)
Donne l'union de champ1,champ2,...
Union([A2:B2], [A4:B4]).SelectUnion([A2:B2], [A4:B4]).Copy [A20]
Copie des cellules pleines de plusieurs champs dans un seul champ
Les cellul es sont dans la mme colonne:
Range("A1:A5,A10:A15").SpecialCells(xlCellTypeConstants, 23).Copy [D2]
Les cellul es ne sont pas dans la mme colonne:
i = 1For Each c In Union([A3:B7], [C1:C5], [E3:E7]).SpecialCells(xlCellTypeConstants, 23)
i = i + 1Cells(i, 7) = c
Next c
5/28/2018 Gestion Des Cellules VBA
7/61
Slectionne les cellules non verrouilles
Sub SelectNonVer()Set champ = NothingFor Each c In ActiveSheet.UsedRange
If Not c.Locked ThenIf champ Is Nothing ThenSet champ = c
ElseSet champ = Union(champ, c)
End IfEnd If
Next cchamp.Select
End Sub
Sub auto_open()
On Error Resume NextCommandBars("BarreVer").DeleteDim barre As CommandBarDim bouton As CommandBarControlSet barre = CommandBars.Add(Name:="BarreVer")
barre.Visible = TrueSet bouton = CommandBars("BarreVer").Controls.Add(Type:=msoControlButton)
bouton.Style = msoButtonCaptionbouton.OnAction = "SelectNonVer"bouton.Caption = "Selection cellules non verrouilles"
End Sub
Ajout de listes
5/28/2018 Gestion Des Cellules VBA
8/61
Sub AjoutListes()[F2:F1000].ClearContentsSet champ = [A2].CurrentRegion.Offset(1)For i = 1 To champ.Columns.CountRange("F65000").End(xlUp).Offset(1).Resize(champ.Rows.Count) = Application.Index(champ.Value, , i)
Next i
Intersect(champ1,champ2,)
Donne l'intersection de champ1,champ2,...
Renvoi Nothingsi l'intersection ne comporte aucune cellule.
Intersect(Range("A2:D2"), Range("B1:C5")).Select
Rechercher une information
Find()
Champ.Find(What:=valeur,After:=cellule, LookIn:=xlFormulas/XlValues,LookAt:= xlPart/XlWhole,SearchOrder:=xlByRows/XlByColumns,SearchDirection:=xlNext/XlPrevious,MatchCase:=True/False,SearchFormat:=False)
Find Synthse
Recherche un texte dans une champ. Findcorrespond la commande Edition/Rechercher.
LookAt:=xlPart/XlWholedfinit si la comparaison se fait sur une partie ou la totalit de la cellule.Par dfaut, ce paramtre conserve la valeur prcdente.
LookIn:=xlFormulas/XlValuesspcifie si la recherche se fait dans la formule ou le rsultat. Par dfaut, ce
http://boisgontierjacques.free.fr/fichiers/jb-Find.ziphttp://boisgontierjacques.free.fr/fichiers/jb-Find.ziphttp://boisgontierjacques.free.fr/fichiers/jb-Find.zip5/28/2018 Gestion Des Cellules VBA
9/61
paramtre conserve la valeur prcdente.
Exemple : On cherche un nom
Mthode 1 (gestion d'erreur)
Sub cherche()nomCherche = InputBox("Nom cherch? ")On Error Resume NextErr = 0
Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues).SelectIf Err = 0 Then
Range(ActiveCell, ActiveCell.End(xlToRight)).SelectElse
MsgBox "Pas trouv"End IfOn Error GoTo 0
End Sub
Mthode 2
Sub cherche2()nomCherche = InputBox("Nom cherch? ")Set result = Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues)If result Is Nothing Then
MsgBox "Non trouv"Else
Range(result, result.End(xlToRight)).SelectEnd If
End Sub
Donne toutes les occurrences :
Sub cherche_plusieurs()
5/28/2018 Gestion Des Cellules VBA
10/61
[A:C].Interior.ColorIndex = xlNonenom = InputBox("Nom cherch?")If nom = "" Then Exit SubSet c = [A:A].Find(nom, , , xlWhole)If Not c Is Nothing Then
premier = c.AddressDoc.Resize(, 3).Interior.ColorIndex = 4Set c = [A:A].FindNext(c)
Loop While Not c Is Nothing And c.Address premierEnd If
End Sub
Non concordance
Colorie les objets de la colonne A non trouvs dans D2:D5.
NonConcordance
Sub coloriage()Set typecat = Range("D2:D5")Set inventaire = Range("A2:A" & [A65000].End(xlUp).Row)inventaire.Interior.ColorIndex = xlNoneFor Each c In inventaire
If typecat.Find(c, MatchCase:=True) Is Nothing Then c.Interior.ColorIndex = 3Next c
End Sub
Recherche de la dernire ligne ou dernire colonne de la feuille ou d'un champ
Sur cet exemple, nous recherchons la dernire ligne et la dernire colonne de la feuille.
Find Dernier.xls
http://boisgontierjacques.free.fr/fichiers/Cellules/NonConcordance.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/NonConcordance.xlshttp://boisgontierjacques.free.fr/fichiers/FindDernier2.xlshttp://boisgontierjacques.free.fr/fichiers/FindDernier2.xlshttp://boisgontierjacques.free.fr/fichiers/FindDernier2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/NonConcordance.xls5/28/2018 Gestion Des Cellules VBA
11/61
Sub dernireligneFeuille()Cells.Find("*", , , , xlByRows, xlPrevious).Select
End Sub
Sub dernireColonneFeuille()Cells.Find("*", , , , xlByColumns, xlPrevious).SelectEnd Sub
Sub IntersectionDerLigneColonneFeuille()Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row, Cells.Find("*", , , ,
xlByColumns, xlPrevious).Column).SelectEnd Sub
Nombre de lignes et de colonnes de la feuille.
Sub nbLignesFeuille()MsgBox Sheets(1).Cells.Find("*", , , , xlByRows, xlPrevious).Row & " Lignes"MsgBox Sheets(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Column & " Colonnes"
End Sub
Sur cet exemple, nous recherchons la dernire ligne et la dernire colonne d'un champ.
Sub dernireligneChamp()[B6:D10].Find("*", , , , xlByRows, xlPrevious).Select
End Sub
5/28/2018 Gestion Des Cellules VBA
12/61
Sub dernireColonneChamp()[B6:D10].Find("*", , , , xlByColumns, xlPrevious).Select
End Sub
Sub IntersectionDerLigneColonneChamp()
Cells([B6:D10].Find("*", , , , xlByRows, xlPrevious).Row, [B6:D10].Find("*", , , , xlByColumns,xlPrevious).Column).SelectEnd Sub
Slectionne de la ligne1 la dernire ligne des colonnes D :E
x = "D:E"Intersect(Range(x), Range("1:1")).Resize(Range(x).Find("*", searchorder:=xlByRows,SearchDirection:=xlPrevious).Row).Select
Recherche de date
Find Dates.xls
Le format de la date cherche est le mme que le format des dates du champ de recherche
Sub RechercheDateFind()d = InputBox("Date? jj/mm/aa")If d "" ThenOn Error Resume Next[L:L].Find(What:=CDate(d), LookIn:=xlValues).SelectIf Err 0 Then MsgBox "Inconnu"
End IfEnd Sub
On adapte le format de la date recherche au format des dates du champ de recherche
Sub RechercheDateFind2()d = InputBox("Date? jj/mm/aa")If d "" ThenOn Error Resume Next[N:N].Find(What:=Format(CDate(d), "dddd d mmmm yyyy"), LookIn:=xlValues).Select
If Err 0 Then MsgBox "Inconnu"End IfEnd Sub
Avec la fonction Equiv(), le format des dates du champ de recherche n'a pas d'importance
http://boisgontierjacques.free.fr/fichiers/FindDates.xlshttp://boisgontierjacques.free.fr/fichiers/FindDates.xlshttp://boisgontierjacques.free.fr/fichiers/FindDates.xls5/28/2018 Gestion Des Cellules VBA
13/61
Sub RechercheDateColonneEquiv()d = InputBox("Date?")If IsDate(d) Thenp = Application.Match(CDbl(CDate(d)), [L2:L10000], 0)If IsError(p) Then
MsgBox "Inconnu"Else[L2].Offset(p - 1, 0).Select
End IfElse
MsgBox "n'est pas une date"End If
End Sub
Remplace les abrviations slectionnes par les libells
ChercheRemplaceFind
Sub traduc()For Each c In Selectiona = Split(c, " ")For i = LBound(a) To UBound(a)Set temp = [abrev].Find(what:=a(i), LookAt:=xlWhole)If Not temp Is Nothing Then a(i) = temp.Offset(, 1).Value
Next i
c.Value = Join(a, " ")NextEnd Sub
ou
Sub traduc2()abr = [abrev].Value ' lecture dans un tableaulib = [abrev].Offset(, 1).Value ' lecture dans un tableauFor Each c In Selectiona = Split(c, " ")
For i = LBound(a) To UBound(a)p = Application.Match(a(i), abr, 0)
http://boisgontierjacques.free.fr/fichiers/Cellules/FindReplace2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/FindReplace2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/FindReplace2.xls5/28/2018 Gestion Des Cellules VBA
14/61
If Not IsError(p) Then a(i) = lib(p, 1)Next ic.Value = Join(a, " ")
NextEnd Sub
Recherche de nombres avec Find
ValCherche = InputBox("Valeur recherche")If IsNumeric(ValCherche) Then ValCherche = CDbl(ValCherche)Cells.Find(What:=ValCherche).Activate
Colorie les occurences du mot cherch dans un champ
ChercheMotChamp
Colorie les occurences du mot cherch dans un champ
ChercheMot
http://boisgontierjacques.free.fr/fichiers/Cellules/ChercheMotChamp.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ChercheMotChamp.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ChercheMotChamp2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ChercheMotChamp2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ChercheMotChamp2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ChercheMotChamp.xls5/28/2018 Gestion Des Cellules VBA
15/61
Private Sub Worksheet_Change(ByVal Target As Range)If Target.Address = "$A$2" Then
If [iv1] = "" Then[A4:A1000].Copy [IV4][iv1] = "archiv"
Else[IV4:IV1000].Copy [A4]
End Ifmot = TargetFor Each c In [A4:A1000]p = 1Do While p > 0p = InStr(p, UCase(c), UCase(mot))If p > 0 Then
c.Characters(p, Len(mot)).Font.ColorIndex = 3p = p + Len(mot)
End IfLoop
Next cEnd If
End Sub
Nettoyage d'une feuille
Parfois, le UsedRanged'une feuille (Maj+Ctrl+fin) comporte des lignes et des colonnes aprs la dernire cellpleine.Pour supprimer les lignes et colonnes inutilises de la feuille:-Nettoie Used Range-
Sub SupLigneColTrop()Range(Cells(Cells.Find("*", , , , xlByColumns, xlPrevious).Column + 1), Cells(1, 254)).EntireColumn.Dele
http://boisgontierjacques.free.fr/fichiers/Cellules/UsedRangeNettoieLignesColonnes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/UsedRangeNettoieLignesColonnes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/UsedRangeNettoieLignesColonnes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/UsedRangeNettoieLignesColonnes.xls5/28/2018 Gestion Des Cellules VBA
16/61
Range(Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1, 1), Cells(65536, 1)).EntireRow.DeleteEnd Sub
Sub VisuUsedRange()ActiveSheet.UsedRange.Select
End Sub
Recherche 2 critres
Recherche matricielle 2 critres
On suppose que le nom cherch est en F2 et le prnom en G2 . Nomet Prenomsont 2 champs nomms.
RechercheMat2Critres
Sub Recherche()p = Evaluate("match(1,(nom=F2)*(prenom=G2),0)")If Not IsError(p) Then
Range("nom")(1).Offset(p - 1).SelectElseMsgBox "inconnu"
End IfEnd Sub
Le nom et le prnom sont dans des variables n et P.
Sub Recherche2()n = "Martin"
http://boisgontierjacques.free.fr/fichiers/Cellules/RechercheMatricielle2Criteres.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RechercheMatricielle2Criteres.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RechercheMatricielle2Criteres.xls5/28/2018 Gestion Des Cellules VBA
17/61
p = "Daniel"pos = Evaluate("match(1,(nom=""" & n & """)*(prenom=""" & p & """),0)")If Not IsError(pos) Then
Range("nom")(1).Offset(pos - 1).SelectElse
MsgBox "inconnu"End IfEnd Sub
Recherche 2 critres dans un tableau
Reherche2crit
Sub RechercheMultiCritres()n = "titi"
p = "Jean"
a = [NOM].Resize(, 3)' recherche dans tableau + rapideFor i = 1 To UBound(a, 1)
If a(i, 1) = n And a(i, 2) = p ThenMsgBox a(i, 3)
End IfNext i
End Sub
Recherche 2 critres avec find
Sub FindMultiCritres()n = "titi"
p = "jean"Set c = [NOM].Find(n, LookIn:=xlValues, LookAt:=xlWhole)If Not c Is Nothing Thenpremier = c.AddressSet temp = c.Offset(, 1)DoSet temp = Union(temp, c.Offset(, 1))Set c = [NOM].FindNext(c)
Loop While Not c Is Nothing And c.Address premier
End If'-- recherche prnomSet c = temp.Find(p, LookIn:=xlValues, LookAt:=xlWhole)If Not c Is Nothing Then
MsgBox c.Offset(, 1)ElseMsgBox "non trouv"
End IfEnd Sub
Recherche Find avec caractres accentus
Cration d'une BD partir de fiches
http://boisgontierjacques.free.fr/fichiers/Cellules/Find2Criteres3.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/Find2Criteres3.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/Find2Criteres3.xls5/28/2018 Gestion Des Cellules VBA
18/61
On recherche la position du mot prnomdans les cellules. Prnomest crit avec ou sans accent.On remplace la recherche du mot Prnompar la recherche de Pr?nom.
Find Accent
Sub CreBD()Set f = Sheets("BD")ligneBD = 2For Each c In f.[A:A].SpecialCells(xlCellTypeConstants, 23).Areasp = InStr(c.Cells(1, 1), ":") + 1f.Cells(ligneBD, 3) = Trim(Mid(c.Cells(1, 1), p))f.Cells(ligneBD, 4) = cherche("Pr?nom", c)f.Cells(ligneBD, 5) = cherche("Adresse", c)f.Cells(ligneBD, 6) = cherche("Tph", c)
ligneBD = ligneBD + 1Next c
End Sub
Function cherche(quoi, o)Set rsultat = o.Find(quoi, LookIn:=xlValues, LookAt:=xlPart)If Not rsultat Is Nothing Thenp = InStr(rsultat.Value, ":") + 1If p > 0 Then cherche = Trim(Mid(rsultat.Value, p))
End IfEnd Function
Recherche de toutes les cellules qui contiennent un mot accentu
On recherche toutes les cellules qui contiennenttudiantavec ou sans accent.
On remplace par le joker ?
valeurChercheJoker = "?tudiant"
Find Accent (0,04 s pour 25.000 lignes)
Find Recherche Accent
http://boisgontierjacques.free.fr/fichiers/Cellules/FindAccent.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/FindAccent.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/FindAccent.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/FindAccent.xlshttp://boisgontierjacques.free.fr/pages_site/RechercheAccent.htmhttp://boisgontierjacques.free.fr/pages_site/RechercheAccent.htmhttp://boisgontierjacques.free.fr/pages_site/RechercheAccent.htmhttp://boisgontierjacques.free.fr/fichiers/Cellules/FindAccent.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/FindAccent.xls5/28/2018 Gestion Des Cellules VBA
19/61
Sub FindAccent()valeurCherche = "tudiant"valeurChercheJoker = "?tudiant"Set champRecherche = [A:A]Set rsultat = champRecherche.Find(valeurChercheJoker, LookIn:=xlValues, LookAt:=xlPart)If Not rsultat Is Nothing Then
premier = rsultat.AddressDo
If sansAccent(rsultat.Value) = sansAccent(valeurCherche) Then rsultat.Interior.ColorIndex = 4Set rsultat = champRecherche.FindNext(rsultat)Loop While Not rsultat Is Nothing And rsultat.Address premier
End IfEnd Sub
Function sansAccent(chaine)
codeA = ""codeB = "EEEEOeeeeacuouii"temp = chaineFor i = 1 To Len(temp)p = InStr(codeA, Mid(temp, i, 1))If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
NextsansAccent = temp
End Function
Avec une recherche squentielle (0,75s pour 25.000 lignes)
Sub RechSeqAccent()valeurCherche = "tudiant"For Each c In Range([A2], [A65000].End(xlUp))
If sansAccent(c) = sansAccent(valeurCherche) Then c.Interior.ColorIndex = 4Next c
End Sub
Recherche d'un mot dans tout le classeur
Donne la liste des feuilles d'un classeur contenant le mot cherch.
Recherche mot dans tout le classeur
http://boisgontierjacques.free.fr/fichiers/Formulaire/FormChercheMotToutClasseurFind.xlshttp://boisgontierjacques.free.fr/fichiers/Formulaire/FormChercheMotToutClasseurFind.xlshttp://boisgontierjacques.free.fr/fichiers/Formulaire/FormChercheMotToutClasseurFind.xls5/28/2018 Gestion Des Cellules VBA
20/61
Private Sub B_ok_Click()If Me.TextBox1 = "" Then Exit SubApplication.DisplayAlerts = FalseOn Error Resume NextSheets("Temp").Delete
On Error GoTo 0Sheets.Add after:=Sheets(Sheets.Count)ActiveSheet.Name = "Temp"[A1] = Me.TextBox1ligne = 2For i = 1 To Sheets.Count - 1With Sheets(i).Cells
If IsDate(Me.TextBox1) ThenSet c = .Find(CDate(Me.TextBox1), LookIn:=xlValues, LookAt:=xlPart)
ElseSet c = .Find(Me.TextBox1, LookIn:=xlValues, LookAt:=xlPart)
End IfIf Not c Is Nothing Thenpremier = c.AddressDotemp = [A1]Sheets("temp").Hyperlinks.Add Anchor:=Sheets("temp").Cells(ligne, 1), _
Address:="", SubAddress:="'" & Sheets(i).Name & "'" & "!" & c.Address, TextToDisplay:=tempCells(ligne, 2) = Sheets(i).NameCells(ligne, 3) = c.Addressligne = ligne + 1Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address premierEnd If
End WithNext i
End Sub
Supprimer les lignes vides
Cellules vides dans la colonne A
On Error Resume Next
5/28/2018 Gestion Des Cellules VBA
21/61
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cellules vides sur toutes les colonnes
For i = [A65000].End(xlUp).Row To 1 Step -1
If Application.CountA(Rows(i)) = 0 Then Rows(i).DeleteNext i
Cellules vides de la colonne B la colonne H
SupLignesVidesColonne
Sub suplignesvides()Set f = Sheets("feuil1")Application.ScreenUpdating = FalseFor i = f.[A65000].End(xlUp).Row To 2 Step -1
If Application.CountA(Range(f.Cells(i, "b"), f.Cells(i, "h"))) = 0 Then f.Rows(i).Delete
Next iEnd Sub
Sub supLignesVides2()Application.ScreenUpdating = FalseColumns("b:b").Insert Shift:=xlToRightRange("B2:B" & [A65000].End(xlUp).Row).FormulaR1C1 = "=IF(COUNTA(RC[1]:RC[7])=0,""sup"",0)"Range("B2:B65000").SpecialCells(xlCellTypeFormulas, 2).EntireRow.Delete
Columns("b:b").Delete Shift:=xlToLeftEnd Sub
Suppression des lignes et colonnes vides
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1If Application.CountA(Rows(i)) = 0 Then Rows(i).Delete
Next i
http://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesVides2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesVides2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesVides2.xls5/28/2018 Gestion Des Cellules VBA
22/61
For i = ActiveSheet.UsedRange.Columns.Count To 1 Step -1If Application.CountA(Columns(i)) = 0 Then Columns(i).Delete
Next i
Slection de lignes
On veut slectionner les lignes des annes 2008.
Selection Lignes 2008
Sub Selection2008()Range("E2:E" & [A65000].End(xlUp).Row).FormulaR1C1 = "=IF(YEAR(RC[-1])=2008,""ok"")"[E:E].SpecialCells(xlCellTypeFormulas, 2).EntireRow.Select
[E:E].ClearContentsEnd Sub
Suppression de lignes
Suppression classique
On supprime les lignes qui contiennent xxxx dans la premire colonne
Application.ScreenUpdating = FalseApplication.Calculation = xlCalculationManual
For i = [A65000].End(xlUp).Row To 1 Step -1If Cells(i, 1) = "xxxx" Then Rows(i).Delete Shift:=xlUp
http://boisgontierjacques.free.fr/fichiers/Cellules/SelectionLignes2008.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SelectionLignes2008.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SelectionLignes2008.xls5/28/2018 Gestion Des Cellules VBA
23/61
Next iApplication.Calculation = xlCalculationAutomatic
ou
[A:A].Replace "xxxx", ""[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Avec le filtre automatique
SupLignesFiltreAuto
Sub SupLignesFiltreAuto()[A1].AutoFilter Field:=1, Criteria1:="xxxx"Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp[A1].AutoFilter
End Sub
Avec le filtre labor
Supprime les exclus - xx yy zz - ( 0,1 S pour 10.000 lignes).Au lieu de supprimer les lignes, on recopie dans une autre feuille ce qui ne doit pas tre supprim.
SupLignesFiltre
Sub sup_filtre()Sheets("result").[A:C].ClearSheets("BD").Range("A1:C12000").AdvancedFilter Action:=xlFilterCopy, _CriteriaRange:=Sheets("BD").Range("F1:F2"), CopyToRange:=Sheets("result").Range("A1")Sheets("result").Select
End Sub
http://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesFiltreAuto.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesFiltreAuto.xlshttp://boisgontierjacques.free.fr/fichiers/Filtre/SupLignesFiltreElabore.xlshttp://boisgontierjacques.free.fr/fichiers/Filtre/SupLignesFiltreElabore.xlshttp://boisgontierjacques.free.fr/fichiers/Filtre/SupLignesFiltreElabore.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesFiltreAuto.xls5/28/2018 Gestion Des Cellules VBA
24/61
A l'aide d'une colonne intermdiaire:
SupLignes
Sub supLignes()Application.ScreenUpdating = FalseColumns("b:b").Insert Shift:=xlToRightRange("B2:B" & [A65000].End(xlUp).Row).FormulaR1C1 = "=IF(RC[-1]=""xxxx"",""sup"",0)"Range("B2:B65000").SpecialCells(xlCellTypeFormulas, 2).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeft
End Sub
Suppression rapide
On regroupe les lignes supprimer en fin de tableau.La suppression des lignes ainsi regroupes en fin de tableau est trs rapide.L'ordre initial des lignes n'est pas modifi.
-on repre les lignes supprimer avec la valeur Sup-on tri les lignes . Les lignes contenant Supse retrouvent la fin-on supprime les lignes contenant Sup
(0,2sec pour 20.000 lignes)
SupLignesRapide
SupLignesRapideCouleur
http://boisgontierjacques.free.fr/fichiers/Cellules/SupLignes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesRapide.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesRapideCouleur.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesRapideCouleur.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesRapideCouleur.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignesRapide.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupLignes.xls5/28/2018 Gestion Des Cellules VBA
25/61
Sub supLignesRapide()Application.ScreenUpdating = FalseColumns("b:b").Insert Shift:=xlToRightRange("B2:B" & [A65000].End(xlUp).Row).FormulaR1C1 = "=IF(RC[-1]=""xxxx"",""sup"",0)"[B:B].Value = [B:B].Value
[A2].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuessOn Error Resume NextRange("B2:B65000").SpecialCells(xlCellTypeConstants, 2).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeft
End Sub
Autre mthode (0,15 sec pour 20.000 lignes)
Sub supLignesRapide2()Application.ScreenUpdating = Falsea = Range("A2:A" & [A65000].End(xlUp).Row)
For i = LBound(a) To UBound(a)If a(i, 1) "xxxx" Then a(i, 1) = 0 Else a(i, 1) = "sup"
Next iColumns("b:b").Insert Shift:=xlToRight[B2].Resize(UBound(a)) = a[A2].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuessOn Error Resume NextRange("B2:B65000").SpecialCells(xlCellTypeConstants, 2).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeft
End Sub
Supprimer des lignes commenant par
Sub SupLignes3()Application.ScreenUpdating = FalseFor i = [A65000].End(xlUp).Row To 1 Step -1
If Left(Cells(i, 1), 4) "SCVT" Then Rows(i).DeleteNext i
End Sub
Suppression de lignes sur 3 colonnes
5/28/2018 Gestion Des Cellules VBA
26/61
For i = [A65000].End(xlUp).Row To 1 Step -1If Cells(i, 1) = "" Then Cells(i, 1).Resize(1, 3).Delete Shift:=xlUp
Next i
Suppression de cellules vides
[A:D].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Supprime une ligne sur 2 (rapide)
Sup1LigneSur2
Sub supLignes1sur2()Application.ScreenUpdating = FalseColumns("b:b").Insert Shift:=xlToRightRange("B2:B" & [A65000].End(xlUp).Row).FormulaR1C1 = "=if(MOD(ROW(),2)=1,""sup"",0)"Range("B2:B65000").SpecialCells(xlCellTypeFormulas, 2).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeft
End Sub
Sub supLignes1sur2Rapide()
Application.ScreenUpdating = FalseColumns("b:b").Insert Shift:=xlToRightRange("B2:B" & [A65000].End(xlUp).Row).FormulaR1C1 = "=if(MOD(ROW(),2)=1,""sup"",0)"[B:B].Value = [B:B].Value[A2].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuessRange("B2:B65000").SpecialCells(xlCellTypeConstants, 2).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeft
End Sub
Masquage de lignes
On masque les lignes si cellules vides dans colonne B
http://boisgontierjacques.free.fr/fichiers/Cellules/Sup1LignSur2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/Sup1LignSur2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/Sup1LignSur2.xls5/28/2018 Gestion Des Cellules VBA
27/61
On Error Resume NextRange("b:b").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
On masque les lignes si cellules vides dans toutes les colonnes
For i = 1 To [A65000].End(xlUp).RowIf Application.CountA(Rows(i)) = 0 Then Rows(i).Hidden = TrueNext i
Pour faire apparatre toutes les lignes de la feuille
Cells.EntireRow.Hidden = False
Masquer des groupes de lignes ou de colonnes
Range("5:10,15:20,25:30").EntireRow.Hidden = True
Range("B:D,G:J").EntireColumn.Hidden = True
Insre une ligne vide entre les lignes
Range("A65000").End(xlUp).SelectFor i = 1 To Selection.currentregion.Rows.Count - 1ActiveCell.EntireRow.InsertActiveCell.Offset(-1, 0).Select
NextRange("A2:A1000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Suppression de doublons
Sub supDoublonsTradi()Application.ScreenUpdating = False
5/28/2018 Gestion Des Cellules VBA
28/61
Application.Calculation = xlCalculationManual[A1].Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuessFor i = [A65000].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) Then Rows(i).DeleteNext i
Application.Calculation = xlCalculationAutomaticEnd Sub
Suppression de doublons rapide
Lorsque le nombre de lignes devient important et si le taux de suppression est lev, la mthode ci dessousest plus rapide( 1 s pour 10000 lignes contre 7 s).
Principe:-Formule =SI(A2=A1;1;0) pour reprer les doublons avec la valeur 1-Tri pour regrouper les lisgnes supprimer-Remplacer 1 par un vide-Slection et Suppression
-SupDoublonsRapide-
Sub SupRapide1Critere()Application.ScreenUpdating = False[A1].Sort Key1:=Range("A2"), Order1:=xlAscending, _
Header:=xlGuessColumns("b:b").Insert Shift:=xlToRight[B1] = "ColB"[B2].FormulaR1C1 = "=IF(RC[-1]=R[-1]C[-1],1,0)"[B2].AutoFill Destination:=Range("B2:B" & [A65000].End(xlUp).Row)[B:B].Value = [B:B].Value[A2].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess[B:B].Replace What:="1", Replacement:="", LookAt:=xlPartRange("B2:B65000").SpecialCells(xlCellTypeBlanks).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeftEnd Sub
Sub SupRapide2CriteresColAColB()
http://boisgontierjacques.free.fr/fichiers/Cellules/SupDoublonsRapideR.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupDoublonsRapideR.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupDoublonsRapideR.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/SupDoublonsRapideR.xls5/28/2018 Gestion Des Cellules VBA
29/61
Application.ScreenUpdating = False[A1].Sort Key1:=Range("A2"), Order1:=xlAscending, _Key2:=Range("B2"), Order2:=xlAscending, _Header:=xlGuessColumns("b:b").Insert Shift:=xlToRight
[B1] = "ColB"[B2].FormulaR1C1 = "=IF(AND(RC[-1]=R[-1]C[-1],RC[+1]=R[-1]C[+1]),1,0)"[B2].AutoFill Destination:=Range("B2:B" & [A65000].End(xlUp).Row)[B:B].Value = [B:B].Value[A2].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess[B:B].Replace What:="1", Replacement:="", LookAt:=xlPartRange("B2:B65000").SpecialCells(xlCellTypeBlanks).EntireRow.DeleteColumns("b:b").Delete Shift:=xlToLeftEnd Sub
Suppression de doublons sans modifier l'ordre
Sur colonne A
Sub supdoublons()Application.ScreenUpdating = FalseApplication.Calculation = xlCalculationManualSet champ = Range("A1:A" & [A65000].End(xlUp).Row)For i = [A65000].End(xlUp).Row To 1 Step -1
If Application.CountIf(champ, Cells(i, 1)) > 1 ThenCells(i, 1).Delete Shift:=xlUp ' ou Rows(i).Delete
End IfNext iApplication.Calculation = xlAutomatic
End Sub
Sur colonne A et C
Rapide si taux de suppression faible. 2 s pour 10.0000 lignes et taux suppression 5%
Sub OrdreRespectDictionary()Set MonDico = CreateObject("Scripting.Dictionary")Application.ScreenUpdating = Falsei = 2Do While Cells(i, "A") ""
If Not MonDico.Exists(Cells(i, "A") & Cells(i, "C")) ThenMonDico.Add Cells(i, "A") & Cells(i, "C"), Cells(i, "A") & Cells(i, "C")
5/28/2018 Gestion Des Cellules VBA
30/61
i = i + 1Else
Rows(i).EntireRow.DeleteEnd If
Loop
End Sub
Complter un champ
[A1:A20].SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"[A1:A20].Value = [A1:A20].Value
Autre cas
[A1].CurrentRegion.Resize(, 1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"[A1].CurrentRegion.Resize(, 1).Value = [A1].CurrentRegion.Resize(, 1).Value
Insre une ligne la position du curseur et copie les formules
Recopie Formule
Sub InsreCopieLigne()
http://boisgontierjacques.free.fr/fichiers/Cellules/InsertionCopieLigneFormule.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/InsertionCopieLigneFormule.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/InsertionCopieLigneFormule.xls5/28/2018 Gestion Des Cellules VBA
31/61
ActiveCell.EntireRow.InsertRows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)On Error Resume NextRows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
Recopie la dernire ligne et ne laisse que les formules
Sub RecopieDerniereLigne()[A65000].End(xlUp).Offset(1, 0).SelectActiveCell.Offset(-1, 0).EntireRow.Copy ActiveCellOn Error Resume NextRows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
Pour affecter une macro au clic droit sur cette feuille :
Private Sub Worksheet_Activate()Set temp = CommandBars("cell").Controls.Addtemp.Caption = "Recopie dernire ligne"temp.OnAction = "recopie"temp.FaceId = 120temp.BeginGroup = True
End Sub
Private Sub Worksheet_Deactivate()Application.CommandBars("Cell").Reset
End Sub
Remplacer une information
Replace()
Champ.Replace What:=valeur,Replacement:=valeur,LookAt:=xlPart/XlWhole,SearchOrder:=xlByRows/XlByColumns,MatchCase:=False, SearchFormat:=True/False,
ReplaceFormat:=True/False
Remplace une chane de caractres par une autre chane.
Range(A1:A10).Replace " ", ""
Caractres spciaux:
* : remplace un nombre inddermin de caractres
? : remplace 1 caractre
S'il y a un caractre spcial dans la chane, utiliser ~devant le caractre spcial:
5/28/2018 Gestion Des Cellules VBA
32/61
Sur cet exemple, on remplace le caractre * par une chane vide
aaa*aaa
bbbbb*bb
cc*ddd
Range(A1:A10).Replace "~* ", ""
Supprime les lignes se terminant par DE
mmm
mmmDE
mmm
mmm
mmmDE
mmm
[A:A].Replace What:="*DE", Replacement:="", LookAt:=xlWholeOn Error Resume Next[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Remplacer VRAI/FAUX
Pour remplacer les valeurs boolennes VRAI et FAUX dans une feuille
Cells.Replace What:=True, Replacement:="x"
Cells.Replace What:=False, Replacement:=""
Positionnement du curseur
ScrollRow=ligneScrollColumn=colonne
ScrollRowpositionne la ligne active en haut de l'cran.ScrollColumnpositionne la colonne active gauche de l'cran.
Sur cet exemple, la cellule active est positionne en haut de l'cran
Private Sub Worksheet_SelectionChange(ByVal Target As Range)ActiveWindow.ScrollRow = ActiveCell.Row
End Sub
ScrollColumn
http://boisgontierjacques.free.fr/fichiers/Cellules/ScrollColumn1.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ScrollColumn1.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ScrollColumn1.xls5/28/2018 Gestion Des Cellules VBA
33/61
Sur cet exemple, la ligne active est positionne au milieu de l'cran.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)If ActiveCell.Row > 12 ThenActiveWindow.ScrollRow = ActiveCell.Row - 12
End IfEnd Sub
Positionne le curseur sur Activit suivant/prcdent
PositionneSuivant
Sub positionneActivitSuivant()On Error Resume NextRange(Cells(2, ActiveCell.Column + 1), Cells(2, 255)).Find(What:="Activit",
SearchDirection:=xlNext).SelectActiveWindow.ScrollColumn = ActiveCell.Column
End Sub
Sub positionneActivitPrcdent()On Error Resume NextRange(Cells(2, ActiveCell.Column - 1), Cells(2,
"A")).Find(What:="Activit", SearchDirection:=xlPrevious).Select
ActiveWindow.ScrollColumn = ActiveCell.ColumnEnd Sub
Application.goto(rfrence,scroll)
Slectionne la rfrence spcifie.Si Scroll=True, le coin suprieur gauche de la rfrence apparat dans le coin suprieur gauche de la fentre.
Application.Goto Reference:=Sheets(1).Range("A20"), scroll:=True
Positionne le curseur sur la date du jour ou la suivante
La mme date peut apparatre plusieurs fois
http://boisgontierjacques.free.fr/fichiers/Cellules/ScrollColumn2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ScrollColumn2.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ScrollColumn2.xls5/28/2018 Gestion Des Cellules VBA
34/61
Sub auto_open()p = Application.Match(CDbl(Date), [A1:A100], 1)Application.Goto [A1].Offset(p - 1 + IIf(Cells(p, 1) = Date, 0, 1)), scroll:=True
End Sub
Dfinir la zone utilisable par l'oprateur
ScrollArea=champ
Dfinit le champ utilisable par l'utilisateur.
Sheets(1).ScrollArea = "a1:f10"
Zone visible l'cran
champVisible = ActiveWindow.VisibleRange.AddresspremLigne = ActiveWindow.VisibleRange.RowderLigne = ActiveWindow.VisibleRange.Rows.Count
premCol = ActiveWindow.VisibleRange.ColumnderCol = ActiveWindow.VisibleRange.Columns.Count
Commentaire dans une cellule
Ci dessous, nous crons un commentaire dans une cellule.
With Sheets(1).[A1]If .Comment Is Nothing Then.AddComment ' Cration commentaire.Comment.Shape.OLEFormat.Object.Font.Name = "Tverdana".Comment.Shape.OLEFormat.Object.Font.Size = 7.Comment.Shape.OLEFormat.Object.Font.FontStyle = "Normal"
End If.Comment.Text Text:="Ceci est un commentaire...".Comment.Shape.TextFrame.AutoSize = True.Comment.Visible = False
End With
Nommer les champs par VBA
5/28/2018 Gestion Des Cellules VBA
35/61
Sub NommerChamps()Range("A1").SelectFor Each c In Range(ActiveCell, Cells(ActiveCell.Row, 254).End(xlToLeft))
If Not IsEmpty(c.Offset(1, 0)) ThenActiveWorkbook.Names.Add Name:=c, RefersTo:="=" & Range(c.Offset(1, 0), c.End(xlDown)).Addres
End IfNextEnd Sub
Sub NommerChampsDynamique()Range("A1").SelectFor Each c In Range(ActiveCell, Cells(ActiveCell.Row, 254).End(xlToLeft))
If Not IsEmpty(c.Offset(1, 0)) ThenActiveWorkbook.Names.Add Name:=c, RefersTo:= _"=OFFSET(" & c.Address & ",,,COUNTA(" & c.EntireColumn.Address & ")-1)"
End If
NextEnd Sub
Modification de la police dans une cellule
Cells(1, 1) = "Ceci est un essai de caractres en gras dans une cellule...."Cells(1, 1).Characters(Start:=4, Length:=10).Font.FontStyle = "Gras"
Fusionner des cellules
Champ.MergeChamp.MergeCells=True/False
Champ.Unmerge
Champ.Mergefusionne les cellules du champ spcifi.
Sur cet exemple, nous fusionons 2 colonnes dans une seule en conservant les donnes des 2 colonnes
Sub essai()Application.DisplayAlerts = FalseLignedpart = 2colonneDpart = 2n = 4For lig = Lignedpart To Lignedpart + n
Cells(lig, colonneDpart) = Cells(lig, 2) & Cells(lig, colonneDpart + 1)Cells(lig, colonneDpart).Resize(1, 2).Merge
Next ligEnd Sub
5/28/2018 Gestion Des Cellules VBA
36/61
Fusion de 2 colonnes sans Merge
0,3 secondes pour 20.000 lignes
Sub FusionColBColCSansMerge()
Application.ScreenUpdating = Falselignedpart = 2colonnedpart = 2n = 20000a = Cells(lignedpart, colonnedpart).Resize(n, 2).ValueFor i = LBound(a) To UBound(a)a(i, 1) = a(i, 1) & " " & a(i, 2)
Next iCells(lignedpart, colonnedpart).Resize(n, 2) = aCells(lignedpart, colonnedpart + 1).Resize(n).ClearContents
End Sub
Sur cet exemple, les codes articles identiques sont fusionns dans une seule cellule.
Avant Aprs
Sub merge()Application.DisplayAlerts = Falsei = 2Do While Cells(i, 1) ""m = iDo While Cells(i, 1) = Cells(m, 1)i = i + 1
Loop
Cells(m, 1).Resize(i - m).VerticalAlignment = xlTopCells(m, 1).Resize(i - m).MergeCells = TrueLoopEnd Sub
Sub Unmerge()Range([A2], [a65000].End(xlUp)).UnmergeRange([b2], [b65000].End(xlUp)).Offset(0, -1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Range([A2], [a65000].End(xlUp)).Value = Range([A2], [a65000].End(xlUp)).ValueEnd Sub
Pour obtenir le champ complet d'une cellule fusionne
5/28/2018 Gestion Des Cellules VBA
37/61
If [B5].MergeCells Then MsgBox [B5].MergeArea.Address
Champs multi zones
La fonction RechercheMZ(valCherche, champRech As Range, ChampRetour)donne une valeur associ
une valeur cherche
Recherche Multi-Zones
=RechercheMZ(K2;(A2:A7;D2:D5;G2:G7);(B2:B7;E2:E5;H2:H7))
Si les champs ont ts nomms:
=RechercheMZ(K2;Noms;Salaire)
Function RechercheMZ(valCherche, champRech As Range, ChampRetour)Application.VolatileFor i = 1 To champRech.Areas.CountFor j = 1 To champRech.Areas(i).Count
If valCherche = champRech.Areas(i)(j) ThenRechercheMZ = ChampRetour.Areas(i)(j)Exit Function
End IfNext j
Next iRechercheMZ = "pas trouv"
End Function
Exemples
RAZ les cellules de la couleur choisie
Slectionner le champ puis excuter la macro.
RazCouleur
http://boisgontierjacques.free.fr/fichiers/jb-trichampmultizones.xlshttp://boisgontierjacques.free.fr/fichiers/jb-trichampmultizones.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RazCouleur.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RazCouleur.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RazCouleur.xlshttp://boisgontierjacques.free.fr/fichiers/jb-trichampmultizones.xls5/28/2018 Gestion Des Cellules VBA
38/61
Sub razcoul()On Error Resume NextSet x = Application.InputBox("cliquer sur une cellule avec la couleur effacer", Type:=8)
If Err = 0 ThenFor Each c In Selection
If c.Interior.ColorIndex = x.Interior.ColorIndex Then c.Value = EmptyNext cEnd If
End Sub
Dcale les mois vers la gauche
Glissant
Sub glissant()'-- dcalage des 11 derniers mois sur le premierRange("C1:M7").Cut Destination:=Range("B1")'--- recopie la dernire colonne droiteRange("L1:L7").AutoFill Destination:=Range("L1:M7"), Type:=xlFillDefaultRange("M2:M7").ClearContents'---- Prend le format de la colonne D et le copie en ERange("b1:b7").CopyRange("L1").PasteSpecial Paste:=xlFormatsRange("m2").SelectCells.EntireColumn.AutoFitEnd Sub
On veut supprimer les lignes qui existent dj dans l'onglet BD1
On n'utilise pas de colonne intermdiaire
http://boisgontierjacques.free.fr/fichiers/Cellules/Glissant.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/Glissant.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/Glissant.xls5/28/2018 Gestion Des Cellules VBA
39/61
Sub SupDoublons()Range("a2").SelectDo While ActiveCell ""
If Not IsError(Application.Match(ActiveCell, Application.Index(Range("base"), , 1), 0)) _And Not IsError(Application.Match(ActiveCell.Offset(0, 1), Application.Index(Range("base"), , 2), 0)) T
ActiveCell.EntireRow.DeleteElseActiveCell.Offset(1, 0).Select
End IfLoop
End Sub
MEFC:=SOMMEPROD((INDEX(Base;;1)=$A2)*(INDEX(Base;;2)=$B2)*(INDEX(Base;;1)"")*1)>0
On utilise une colonne intermdiaire(colonne C)
Sub SupDoublons2()Range("C2").SelectActiveCell.FormulaR1C1 = "=SUMPRODUCT((INDEX(Base,,1)=RC1)*(INDEX(Base,,2)=RC2)*1)>0"ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(0, -1).End(xlDown).Offset(0, 1))For Each c In Range(ActiveCell, ActiveCell.End(xlDown))
If c.Value = True Then c.EntireRow.Delete
Next cRange(ActiveCell, ActiveCell.End(xlDown)) = EmptyEnd Sub
On veut copier en K2 les lignes surlignes en couleur Orange(couleur 44)
5/28/2018 Gestion Des Cellules VBA
40/61
Sub Archives1()[K2:N65000].ClearContentsligneRecap = 1For i = 2 To [a65000].End(xlUp).Row
If Cells(i, 1).Interior.ColorIndex = 44 ThenligneRecap = ligneRecap + 1Cells(i, 1).Resize(1, 4).Copy Cells(ligneRecap, 11)
End IfNext iEnd Sub
Vers un autre onglet
Sub Archives2()Sheets("Archives").Range("A2:F65000").ClearContentsligneRecap = 1For i = 2 To [a65000].End(xlUp).Row
If Cells(i, 1).Interior.ColorIndex = 44 Then
ligneRecap = ligneRecap + 1Cells(i, 1).Resize(1, 4).Copy Sheets("Archives").Cells(ligneRecap, 1)
End IfNext i
End Sub
Copie de lignes manquantes dun classeur dans un autre
On ajoute mois2.xls les lignes de mois1.xls manquantes dans mois2.xls
MFC:=NB.SI(nom1;A2)>0MFC:=ET(NB.SI(nom2;A2)=0;A2"")
5/28/2018 Gestion Des Cellules VBA
41/61
Sub CopieManque()Sheets("BD").SelectRange("A2").Select
ligne = Workbooks("mois2.xls").Sheets("BD").[A65000].End(xlUp).Row + 1Do While ActiveCell ""
If IsError(Application.Match(ActiveCell, Workbooks("mois2.xls").Sheets("BD").Range("nom"), 0)) ThenRange(ActiveCell, ActiveCell.Offset(0, 1)).Copy Workbooks("mois2.xls").Sheets("BD").Cells(ligne, 1)ligne = ligne + 1
End IfActiveCell.Offset(1, 0).Select
LoopEnd Sub
Diffrence entre 2 fichiers
On veut connatre les produits qui existent dans Mois1.xlset qui n'existent pas dans Mois2.xls
Sub DiffFich1Fich2()ligneEcrit = 2nblignes = Workbooks("mois1.xls").Sheets("BD").[A65000].End(xlUp).Row + 1For i = 2 To nblignes
x = Workbooks("mois1.xls").Sheets("BD").Cells(i, 1)If IsError(Application.Match(x, Workbooks("mois2.xls").Sheets("BD").Range("nom"), 0)) Then
Cells(ligneEcrit, 1) = xligneEcrit = ligneEcrit + 1End If
5/28/2018 Gestion Des Cellules VBA
42/61
Next iEnd Sub
Sub DiffFich2Fich1()ligneEcrit = 2
nblignes = Workbooks("mois2.xls").Sheets("BD").[A65000].End(xlUp).Row + 1For i = 2 To nblignesx = Workbooks("mois2.xls").Sheets("BD").Cells(i, 1)If IsError(Application.Match(x, Workbooks("mois1.xls").Sheets("BD").Range("nom"), 0)) Then
Cells(ligneEcrit, 2) = xligneEcrit = ligneEcrit + 1
End IfNext i
End Sub
Comparaison de bases multi-critres avec Array()
Sur cet exemple, nous transfrons les BD dans des tableaux tnom(),tprenom(),tage()pouracclrer lacomparaison.Comparaison
Sub compareBD()ligne = 2tnom = [NomBD2]tprenom = [prenomBD2]tage = [ageBD2]For i = 1 To Range("NomBD1").Count
n = Range("NomBD1")(i)p = Range("PreNomBD1")(i)a = Range("AgeBD1")(i)tmoin = FalseIf n "" ThenFor k = 1 To Range("nomBD2").Count
If tnom(k, 1) = n And tprenom(k, 1) = p And tage(k, 1) = a Then tmoin = TrueNext kIf Not tmoin Then
Sheets("diff").Cells(ligne, 1) = nSheets("diff").Cells(ligne, 2) = p
Sheets("diff").Cells(ligne, 3) = aligne = ligne + 1
http://boisgontierjacques.free.fr/fichiers/Cellules/NonCorrespondance2CritereTableau.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/NonCorrespondance2CritereTableau.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/NonCorrespondance2CritereTableau.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/NonCorrespondance2CritereTableau.xls5/28/2018 Gestion Des Cellules VBA
43/61
End IfEnd If
Next iEnd Sub
Rcupration d'un champ d'un classeur ferm
Rcupre un champ d'un classeur ferm
Sub LitClasseurFerm()ChampOuCopier = "A1:A4"Chemin = ThisWorkbook.PathFichier = "stock.xls"onglet = "Janvier"ChampAlire = "B2:B5"LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
End Sub
Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)Range(ChampOuCopier).FormulaArray = "='" & Chemin & "\[" & Fichier & "]" & onglet & "'!" & Champ
Range(ChampOuCopier) = Range(ChampOuCopier).ValueEnd Sub
Rcupration du format des cellules pointes par des formules
Une feuille contient des formules du type
=Feuil2!C3
On veut que le format des cellules qui contiennent ces formules soit modifi lorsque le format descellules pointes est modifi. -RcupreFormats-
Private Sub Worksheet_Activate()For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23)
tmp = c.FormulaIf Not inclus(tmp, "[]*/+-") Thena = Split(Mid(tmp, 2), "!")If UBound(a) = 0 Then
Range(a(0)).CopyElse
Sheets(a(0)).Range(a(1)).Copy
End Ifc.PasteSpecial Paste:=xlPasteFormats
http://boisgontierjacques.free.fr/fichiers/Cellules/RecupCoul.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RecupCoul.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RecupCoul.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/RecupCoul.xls5/28/2018 Gestion Des Cellules VBA
44/61
End IfNext c
End Sub
Function inclus(chaine, sch)
tmoin = FalseFor i = 1 To Len(sch)If InStr(chaine, Mid(sch, i, 1)) > 0 Then tmoin = True
Next iinclus = tmoin
End Function
Transforme BD en tableau
TransformeBDTableau
Transforme tableau en BD
Transforme Tableau BD
http://boisgontierjacques.free.fr/fichiers/Cellules/ConvBDTableau.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ConvBDTableau.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeLignesColonnes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeLignesColonnes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeLignesColonnes.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/ConvBDTableau.xls5/28/2018 Gestion Des Cellules VBA
45/61
Sub TransformeLigneColonne()Set f1 = Sheets("BD")a = Sheets("Source").[B1].CurrentRegionligBD = 2
For ligne = 2 To UBound(a, 1)For col = 2 To UBound(a, 2)If a(ligne, col) > 0 Thenf1.Cells(ligBD, 1) = a(ligne, 1)f1.Cells(ligBD, 2) = a(1, col)f1.Cells(ligBD, 3) = a(ligne, col)ligBD = ligBD + 1
End IfNext col
Next ligneEnd Sub
Autre exemple
Transforme Tableau BD
Sub transformeTableauBD()Set f = Sheets("bd")a = f.[A1:D8]ligne = 2: colonne = 6For col = 2 To UBound(a, 2)
For lig = 2 To UBound(a)f.Cells(ligne, colonne) = a(1, col)f.Cells(ligne, colonne + 1) = a(lig, 1)
http://boisgontierjacques.free.fr/fichiers/Cellules/TransformeTableau5.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeTableau5.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeTableau5.xls5/28/2018 Gestion Des Cellules VBA
46/61
f.Cells(ligne, colonne + 2) = a(lig, col)ligne = ligne + 1
Next ligNext col
End Sub
Autre exemple
Sub TransformeTableauBD()ligne = 2For Each c In Range("A2:A" & [A65000].End(xlUp).Row)
For J = 1 To 3Cells(ligne, 8) = cCells(ligne, 9) = c.Offset(, 1)Cells(ligne, 10) = Val(c.Offset(, J + 1))ligne = ligne + 1
NextNext c
End Sub
Autre exemple
Sub Transforme()ligne = 2
5/28/2018 Gestion Des Cellules VBA
47/61
For Each c In Range("A2:A" & [A65000].End(xlUp).Row)a = Split(c.Offset(, 1), "/")For j = LBound(a) To UBound(a)Sheets(2).Cells(ligne, 1) = cSheets(2).Cells(ligne, 2) = a(j)
ligne = ligne + 1NextNext c
End Sub
Transformation de BD en tableau
TransformeColonnesLignesTransformeColonneLigneEnfants
Sub ColonneLigne()Application.ScreenUpdating = FalseLigneBD = 2LigneResult = 2Do While Cells(LigneBD, 1) ""
temp = Cells(LigneBD, 1)Sheets("result").Cells(LigneResult, 1) = Cells(LigneBD, 1)c = 2Do While Cells(LigneBD, 1) = temp
Sheets("result").Cells(LigneResult, c) = Cells(LigneBD, 2)c = c + 1LigneBD = LigneBD + 1
LoopLigneResult = LigneResult + 1
LoopEnd Sub
Avec formules
-Slectionner A2=SI(MIN(SI(Code"";SI(NB.SI(A$1:A1;Code)=0;LIGNE(INDIRECT("1:"&LIGNES(Code))))))0;
INDEX(Code;MIN(SI(Code"";SI(NB.SI(A$1:A1;Code)=0;LIGNE(INDIRECT("1:"&LIGNES(Code))))))-Valider avec Maj+Ctrl+entre
http://boisgontierjacques.free.fr/fichiers/Cellules/TransformeColonneLigne8.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeColonneLigne8.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeColonneLigne7.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeColonneLigne7.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeColonneLigne7.xlshttp://boisgontierjacques.free.fr/fichiers/Cellules/TransformeColonneLigne8.xls5/28/2018 Gestion Des Cellules VBA
48/61
en B2:
=SI(COLONNES($B:B)
5/28/2018 Gestion Des Cellules VBA
49/61
For j = f1.Cells(LigneSource, 1) To f1.Cells(LigneSource, 2)f2.Cells(LigneDest, 1) = jf2.Cells(LigneDest, 2) = f1.Cells(LigneSource, 3)f2.Cells(LigneDest, 3) = f1.Cells(LigneSource, 4)LigneDest = LigneDest + 1
NextNextEnd Sub
Autre exemple
Sub TransformeColooneLigne()Application.ScreenUpdating = FalseRange("A1").CurrentRegion.Sort Key1:=Range("A2"), Header:=xlYesRange("a2").Selectligne = 2Do While ActiveCell ""
mmatricule = ActiveCellSheets("rsult").Cells(ligne, 1) = ActiveCellSheets("rsult").Cells(ligne, 2) = ActiveCell.Offset(0, 1)c = 3
Do While ActiveCell = mmatriculeSheets("rsult").Cells(ligne, c) = ActiveCell.Offset(0, 2)Sheets(