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

VBA_première_fois

XLDnaute Junior
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
 

croco40

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

Salut VBA premier fois, et le forum
si j'ai bien compris en colonne c, tu veux la somme de A + B donc
cel.offset(0,3).value = cel.value + cel.offset(0,1).value
si tu veux compiler A et B donc
cel.offset(0,3).value = cel.value & cel.offset(0,1).value
Sinon envoie un fichier et je regarderai.
Suerte
Croco

oups, c'est pas cel.offset(0,3).value mais cel.offset(0,2).value
 

VBA_première_fois

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

bonjour et merci pour ta réponse
en gros mon code est le suivant

HTML:
Private Sub CommandButton1_Click()For Each cel In Sheets("Feuil2").Range("A2:A" & Range("A65536").End(xlUp).Row)
  Set nom = Workbooks("Classeur2.xls").Sheets("Feuil1").Range("A:A").Find(cel.Value, LookIn:=xlValues)
  
  If Not nom Is Nothing Then
    Workbooks("Classeur2.xls").Sheets("Feuil2").Range("A" & nom.Row).EntireRow.Delete
  End If
Next

End Sub
il me permet de : recuper les données de la colonne A( contient des noms de personnes) de mon classeur actif et les recherche dans la feuille1 de mon classeur2, et les supprime

mais moi j'ai besoin que la condition porte sur les Colonne A(noms) et B(prenom)

car il se peut que deux personnes aient le m^me nom , du coup je cherche le nom et prenom ceci plus correcte

j espere que je me suis bien exprimé

merci d 'avance
 

croco40

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

Resalut,
Peut-etre comme ca

Set nom = Workbooks("Classeur2.xls").Sheets("Feuil1").Range("A:A").Find(cel.Value, LookIn:=xlValues) & Workbooks("Classeur2.xls").Sheets("Feuil1").Range("b:b").Find(cel.Value, LookIn:=xlValues)



Suerte
Croco
 

VBA_première_fois

XLDnaute Junior
condition sur A et B

bonjour forum , bonjour visiteur

le code ci dessous trouvé dans ce forum m'interesse mais je souhaite savoir comment faire pour que que la recherche ( ou la condition)porte sur la colonne A et b (mais pas seulement A)
HTML:
For Each cel In Sheets("Sheet1").Range("A2:A" & Range("A65536").End(xlUp).Row)
  Set nom = Workbooks("classeur2.xls").Sheets("Sheet1").Range("A:A").Find(cel.Value, LookIn:=xlValues)
   
If Not nom Is Nothing Then
    Workbooks("classeur2.xls").Sheets("Sheet1").Range("A" & nom.Row).EntireRow.Delete
  End If
Next


je veux mettre Range("A2:A" & Range("A65536") & Range("b2:b" & Range("b65536"). et franchement je ne sais pas faire
Merci de m'aider et de m'expliquer
 

VBA_première_fois

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

re bonjour

en piece jointe mes 2 classeur avec mon code

merci d'ouvrir en 1er le classeur1 tout est dedans
 

Pièces jointes

  • classeur1.xls
    39.5 KB · Affichages: 61
  • classeur1.xls
    39.5 KB · Affichages: 66
  • classeur1.xls
    39.5 KB · Affichages: 64
  • classeur2.xls
    17.5 KB · Affichages: 60
  • classeur2.xls
    17.5 KB · Affichages: 80
  • classeur2.xls
    17.5 KB · Affichages: 58

GBI

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

Bonjour le fil,
Code:
For Each [COLOR="Red"]cel[/COLOR] In Sheets("Sheet1").Range("A2:A" & Range("A65536").End(xlUp).Row)
  Set nom = Workbooks("classeur2.xls").Sheets("Sheet1").Range("A:A").Find(cel.Value, LookIn:=xlValues)
   
If Not nom Is Nothing Then
    Workbooks("classeur2.xls").Sheets("Sheet1").Range("A" & nom.Row).EntireRow.Delete
  End If
Next
MsgBox "doc propre"

Est-il indispensable d'avoir un nouveau classeur pour ton travail?
Est-il normal que la variable "cel" ne soit pas définie
Est-il normal que tu effectue ta procédure d'effacement de ligne en descendant?

Qlq pistes à explorer :
définir ta variable cel, boucler en remontant, ce qui t'évitera des biais considérables si tu effaces des lignes,
Travailler sur le meme classeur
Créer un champs unique pour chaque personne (t'évitant ainsi d'effacer des homonymes) pourquoi pas numérique

En espérant t'avoir aidé à clarifier ton sujet :)
Cdt
 
Dernière édition:

VBA_première_fois

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

Est-il indispensable d'avoir un nouveau classeur pour ton travail?

oui
car le classeur2 existe déjà
et le classeur1 contient ma USF

Est-il normal que la variable "cel" ne soit pas définie

non je n'ai pas fait attention , mais pourquoi ça marche si c'est une erreur

Est-il normal que tu effectue ta procédure d'effacement de ligne en descendant?

oui car pour moi il n 'y a pas de différence en

mais tu voulais dire quoi par
HTML:
Créer un champs unique


merci d'avance
 

Pierrot93

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

Bonjour à tous,

un peu de patience.... c'est les vacances... et ce forum n'est animé que par des bénévoles....

Regarde le code ci-dessous, s'il peut t'aider, enfin si j'ai bien compris :

Code:
Private Sub CommandButton1_Click()
Dim c As Range, ws As Worksheet, i As Long
For Each c In Range("A2", Range("A65536").End(xlUp))
    For Each ws In Workbooks("classeur2.xls").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

bon après midi
@+
 

Discussions similaires

Réponses
4
Affichages
245
Réponses
12
Affichages
306
Réponses
2
Affichages
206

Membres actuellement en ligne

Statistiques des forums

Discussions
312 845
Messages
2 092 765
Membres
105 529
dernier inscrit
StarExcel