Recherche dans une base de donnee excel
jerame
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis novice en vba donc cette question vous paraitra peut etre triviale:
Je cherche a faire une macro qui me permet de chercher le terme contenu dans la cellule K26 de la page "search" parmi l'ensemble des cellules de la page "Database," et de selectionner les lignes dans lesquelles cette valeur apparait pour les copier ensuite sur la page "Results".
Voici ce que j'ai fait:
Sub Keyword()
Dim i As Integer, j As Integer
For j = 1 To 42
For i = 2 To 5
If Sheets("Database").Range(j & i) Like Sheets("Search").Range("K26").Value Then
Sheets("Database").Rows(i).Copy
If Sheets("Results").Range("A2") = "" Then
Sheets("Results").Range("A2").PasteSpecial
Else: Sheets("Results").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial
End If
Else
If Sheets("Results").Range("A2") = "" Then
Sheets("Results").Range("A1").Offset(1, 0) = ""
Else: Sheets("Results").Range("A1").End(xlDown).Offset(1, 0) = ""
ActiveCell.Offset(1, 0) = ""
End If
End If
Next i
Next j
End Sub
Le problème est que dès que j' ajoute le for/next pour faire varier les colonnes (j), ça ne marche plus, et je ne comprends pas pourquoi....
Par ailleurs cette macro cherche le contenu exact de la cellule K26, comment puis-je faire pour que cela marche aussi si l'une des cellules de Database comprend le texte de la cellule K26?
Merci d'avance pour votre aide!!!
Je suis novice en vba donc cette question vous paraitra peut etre triviale:
Je cherche a faire une macro qui me permet de chercher le terme contenu dans la cellule K26 de la page "search" parmi l'ensemble des cellules de la page "Database," et de selectionner les lignes dans lesquelles cette valeur apparait pour les copier ensuite sur la page "Results".
Voici ce que j'ai fait:
Sub Keyword()
Dim i As Integer, j As Integer
For j = 1 To 42
For i = 2 To 5
If Sheets("Database").Range(j & i) Like Sheets("Search").Range("K26").Value Then
Sheets("Database").Rows(i).Copy
If Sheets("Results").Range("A2") = "" Then
Sheets("Results").Range("A2").PasteSpecial
Else: Sheets("Results").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial
End If
Else
If Sheets("Results").Range("A2") = "" Then
Sheets("Results").Range("A1").Offset(1, 0) = ""
Else: Sheets("Results").Range("A1").End(xlDown).Offset(1, 0) = ""
ActiveCell.Offset(1, 0) = ""
End If
End If
Next i
Next j
End Sub
Le problème est que dès que j' ajoute le for/next pour faire varier les colonnes (j), ça ne marche plus, et je ne comprends pas pourquoi....
Par ailleurs cette macro cherche le contenu exact de la cellule K26, comment puis-je faire pour que cela marche aussi si l'une des cellules de Database comprend le texte de la cellule K26?
Merci d'avance pour votre aide!!!
A voir également:
- Recherche dans une base de donnee excel
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Formules excel de base - Guide
1 réponse
Bonjour,
sans le classeur, difficile d'être efficace
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Dans cette attente
sans le classeur, difficile d'être efficace
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Dans cette attente