Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

je souhaite que le code me retourne A+B ( A et B )

  • Initiateur de la discussion Initiateur de la discussion VBA_première_fois
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

VBA_première_fois

Guest
bonjour le forum

voici mon problème
HTML:
For Each cel In Sheets("Feuil1").Range(("A2:A" & Range("A65536").End(xlUp).Row)

cette partie de mon code me permet de faire des operations sur la colonne A
qui peut me dire comment le faire sur les colonnes A et B

c à dire je souhaite que le code me retourne A+B , ou , A et B et j'ai pas su le faire
 
Re : je souhaite que le code me retourne A+B ( A et B )

bonjour à tous

c'est top ça marche
sinon une derniere question

si je veux , dans mon code , remplacer "classeur2" par classeur ouvert

''''''''
j'aurai un classeur qui contient USF " classeur1"

et un classeur que je vais ouvrir via le bouton parcourir( que je sais faire)

du coup comment préciser quemon bouton doit agir sur ce classeur que je viens d'ouvrir sachant que sont nom change c a dire que ce n'est pas le même classeur à chaque fois

merci d'avance
 
Re : je souhaite que le code me retourne A+B ( A et B )

Re,

tu lui affecte une variable, et modifie comme suit (les lignes en bleu) :
Code:
Private Sub CommandButton1_Click()
Dim [COLOR="Blue"][B]wb As Workbook[/B][/COLOR], c As Range, ws As Worksheet, i As Long
[COLOR="blue"][B]Set wb = Workbooks.Open("C:\MesDocs\Excel\monclasseur.xls")[/B][/COLOR]
For Each c In Range("A2", Range("A65536").End(xlUp))
    For Each ws In [COLOR="blue"][B]wb.Worksheets[/B][/COLOR]
        For i = ws.Range("A65536").End(xlUp).Row To 2 Step -1
            If c.Value = ws.Cells(i, 1).Value Then
                If c.Offset(0, 1).Value = ws.Cells(i, 2).Value Then ws.Rows(i).Delete
            End If
        Next i
    Next ws
Next c
End Sub

@+
 
Re : je souhaite que le code me retourne A+B ( A et B )

re

pour quoi cette partie de ton code
Code:
Set wb = Workbooks.Open("C:\MesDocs\Excel\monclasseur.xls")

ne marche pas lorsque je mets
Code:
Set wb = Workbooks.Open("C:\MesDocs\Excel\*")

pour donner la possiblité de choisir un classeur

merci

a+
 
Re : je souhaite que le code me retourne A+B ( A et B )

bonjour forum
bonjour Pierrot93

une dernière petite question
ton code marche très très bien merci , mais je souhaite savoir comment faire si ce que je recherche ne se trouve pas tout le tmps dans la m^me cellule

je m explique ton code
Code:
Private Sub CommandButton1_Click()
Dim wb As Workbook, c As Range, ws As Worksheet, i As Long
Set wb = Workbooks.Open("C:\MesDocs\Excel\monclasseur.xls")
For Each c In Range("A2", Range("A65536").End(xlUp))
    For Each ws In wb.Worksheets
        For i = ws.Range("A65536").End(xlUp).Row To 2 Step -1
            If c.Value = ws.Cells(i, 1).Value Then
                If c.Offset(0, 1).Value = ws.Cells(i, 2).Value Then ws.Rows(i).Delete
            End If
        Next i
    Next ws
Next c
End Sub
me permet de récupérer chaque nom et prénom se trouvant respectivement dans la cellule A et B du classeur 1

les cherches dans A et B du classeur 2 puis supprime toute la ligne

j'ai besoin de savoir comment faire pour qu'il me cherche dans tout le document car il ne se trouve pas tout le temps dans A et B
sachant que le prénom et toujours a gauche du nom

merci d'avance
 
Re : je souhaite que le code me retourne A+B ( A et B )

Bonsoir à toi Jeanne Mas du VBA (😉), le fil, le forum

toc toc tout le monde en vacance je suppose
Oui (pour ma pomme)

Et bientôt à table pour la soupe (comme d'autres je suppose) 😉

PS: Ce qui est en bleu est censé être un trait d'humour.
 
Dernière édition:
Re : je souhaite que le code me retourne A+B ( A et B )

Bonjour vba,

essaye ainsi, en supposant la ligne 1 comme ligne de titre sur toutes les feuilles, et l'en-tête de colonne renseigné par "nom"...

Code:
Private Sub CommandButton1_Click()
Dim wb As Workbook, c As Range, ws As Worksheet, i As Long, x As Range
Set wb = Workbooks.Open("C:\MesDocs\Excel\monclasseur.xls")
For Each c In Range("A2", Range("A65536").End(xlUp))
    For Each ws In wb.Worksheets
        Set x = ws.Range("1:1").Find("nom", , xlValues, xlWhole, , , False)
        If Not x Is Nothing Then
            For i = ws.Cells(65536, x.Column).End(xlUp).Row To 2 Step -1
                If c.Value = ws.Cells(i, x.Column).Value Then
                    If c.Offset(0, 1).Value = ws.Cells(i, x.Column + 1).Value Then ws.Rows(i).Delete
                End If
            Next i
        End If
    Next ws
Next c
End Sub

bonne journée
@+
 
Re : je souhaite que le code me retourne A+B ( A et B )



pour mieux comprendre car j'ai l'impression que je copie et j'adapte ton code betement je vais te demander de me faciliter un peu la tache

je suppose que, ma recherche ne dépnd pas de A et B mais juste de la colonne A le code sera comment ?

merci d'avance professeur 😀
 
Re : je souhaite que le code me retourne A+B ( A et B )

😕😕😕😕

je n'aime plus lorsque tout le monde est en vacance 😀

Pierrot93 aussi non!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! qui va m'expliquer alors🙂 ? des bénévols !!!!🙄
 
Re : je souhaite que le code me retourne A+B ( A et B )

Re,


Avec le dernier code, les colonnes dans lesquelles la recherche est faite, sont déterminés à partir de la ligne 1 qui doit contenir les titres, soit le mot "nom" dans le cas qui nous interresse...

@+
 
Re : je souhaite que le code me retourne A+B ( A et B )

re tout le monde
du coup la recherche dans ton code ne dépond de la colonne A ou B mais de l'entete de la colonne si j'ai bien compris 🙂
a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
782
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…